如何在 windows10 上配置 geodjango?

How to configure geodjango on windows10?

我正在 windows-10 上从事 geodjango 项目。我一直在关注 geodjango documentation 中的教程和安装指南。我已经安装了所有必需的包并执行了 bat 脚本。

Python 版本:Python 3.7.4(tags/v3.7.4:e09359112e,2019 年 7 月 8 日,20:13:57)[MSC v.1916 64 位(AMD64 )]

OSGEO 版本:GDAL 2.4.1,2019/03/15 发布

最初我不得不重新配置我的虚拟环境,使其具有与 OSGEOW4 应用程序相匹配的 64 位 python 版本。

我已经尝试了问题 and 的解决方案。

这些解决方案包括:

我还没有尝试过从二进制文件安装 gdal 的替代方法。我不明白为什么我无法使用 OSGEO 应用程序进行配置。

执行python manage.py check时命令提示符中出现的错误是:

Traceback (most recent call last):
  File "manage.py", line 21, in <module>
    main()

[...]

OSError: [WinError 126] The specified module could not be found

看来这是很多人都会遇到的问题。

将不胜感激简明而完整的回答。

感谢您的帮助。

我最终从 link 下载了二进制 GDAL 文件。适用于我的 Python 版本的版本是 GDAL-2.4.1-cp37-cp37m-win32.

如果您遇到同样的问题,请注意以下要点:

  • 确保虚拟环境中的 python 版本与 gdal 版本的位大小相同

  • 要启用 .bat 脚本的执行,您必须更改 Set-ExecutionPolicy 变量

我的配置步骤如下:

  1. 从 edm 下载带有 postgis 空间扩展的 postgres
  2. 创建具有特定环境的 Django 项目
  3. 打开powershell并导航到Django项目环境目录
cd .../your-venv/
  1. 设置执行策略变量
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
  1. 激活环境:
Scripts/Activate.ps1
  1. 为您的环境下载合适的 gdal 版本 (https://www.lfd.uci.edu/~gohlke/pythonlibs/)
  2. 从您的 venv 中的二进制文件安装 gdal:
pip install C:\...\GDAL-2.4.1-cp37-cp37m-win32.whl
  1. 为您的项目安装任何其他要求

希望这对您有所帮助。

我发现的最简单的方法是:

  1. 从 whl 安装 Gdal,例如:[https://www.lfd.uci.edu/~gohlke/pythonlibs/][1],如果这个 link 不可用,您需要的 whl 并不难找到。
  2. 将此代码添加到 settings.py(如果需要,更改 virtualenv 的名称):
       OSGEO_VENV = Path(__file__).parents[1] / 'venv/Lib/site-packages/osgeo/'
       GEOS_LIBRARY_PATH = str(OSGEO_VENV / 'geos_c.dll')
       GDAL_LIBRARY_PATH = str(OSGEO_VENV / 'gdal204.dll')
       os.environ["PATH"] += os.pathsep + str(OSGEO_VENV)```   
    

如果以前安装了 OSGeo,请确保清除路径变量。