为了让 geoDjango 工作,它需要一些免费的地理空间库,它在内置django.contrib.gis应用程序中使用这些库,我将向您展示如何安装它。
第1步:下载osgeo4w
由于某种原因,托管网站https://trac.osgeo.org/osgeo4w/下载链接无法正常工作,要么在 Chrome 中根本无法工作,要么在 Firefox 中下载 32 位,但在 Edge 浏览器中似乎工作正常另一种方法是使用 QGIS 链接https://qgis.org/en/site/forusers/download.html。您将获得一个下载的文件,格式为osgeo4w-setup.exe.
第 2 步:安装
他们说使用 Express 安装,我确信它不起作用,因为我已经尝试了至少 30 次,每次下载费用略高于 500MB。使用高级安装,因为这对我有用。点击
未来情况可能会发生一些变化,所以要小心。
第三步:修改Windows环境
在管理模式下打开命令提示符以获得管理权限。然后,您可以按照它们出现的顺序将它们复制并粘贴到另一个上。
这是截至 2022 年的 win64 系统,因为它是受支持的系统,如果您使用 win32,请确保下载 32 位版本的 OSGeo4W/GDAL,相同的命令将起作用。
- 设置 OSGEO4W_ROOT=C:\OSGeo4W
- 设置 GDAL_DATA=%OSGEO4W_ROOT%\share\gdal
- 设置 PROJ_LIB=%OSGEO4W_ROOT%\share\proj
- 设置 PATH=%PATH%;%OSGEO4W_ROOT%\bin
- reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v 路径 /t REG_EXPAND_SZ /f /d "%PATH%"
- reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"/v GDAL_DATA /t REG_EXPAND_SZ /f /d "%GDAL_DATA%"
- reg ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROJ_LIB /t REG_EXPAND_SZ /f /d "%PROJ_LIB%"
有关上述所有命令,请参阅 django Doc 。
完成后,您可以通过在 Windows 搜索框中键入以下内容来检查环境变量以确认您的更改:
编辑系统环境变量
单击环境变量按钮,在系统变量部分滚动并双击路径。如果您不单击“新建”并自行添加,您应该在这里看到您的 python 路径以及“C:\OSGeo4W”和“C:\OSGeo4W\bin”。
成功完成后,在所有打开的窗口上单击“确定”,返回到您的 python 环境,如果您将使用Postgres ,则在命令提示符下使用 pip 安装 psycopg2 。
pip 安装 psycopg2
步骤 4:配置 django
成功通过后,当您打开cmd并键入时gdalinfo --version,您应该会看到安装的 gdal 版本,但是当您运行 django ( python manage.py check or runserser) 时,您大多数时候都会收到此错误,具体取决于您安装的 gdal 版本以及是否运行 django 时不会出现错误,您可以继续使用,无需遵循其余的答案。
引发ImproperlyConfigured(django.core.exceptions.ImproperlyConfigured:找不到GDAL库(尝试过“gdal303”,“gdal302”,“gdal301”,“gdal300”,“gdal204”,“gdal203”,“gdal202”,“gdal201” 、“gdal20”)。是否已安装 GDAL?如果已安装,请尝试在设置中设置 GDAL_LIBRARY_PATH。
要解决此问题,请转到保存OSGeo4W 的系统文件夹(大多数情况下它会位于C:\OSGeo4W),打开它并找到并打开bin。在文件夹内查找bin名为 的最大文件gdal***.dll。
如果你的内存跨度小于 60 秒,则将 *** 数字写入某处,然后进入安装了 django 的 python 环境并导航到以下路径:
..\env\Lib\site-packages\django\contrib\gis\gdal
并使用您最喜欢的编辑器打开libgdal.py文件。
向下滚动到第 24 行,在lib_names列表中,将 *** 数字作为字符串添加到列表中,我的是304. 所以它变成了这样
lib_names = [
Run Code Online (Sandbox Code Playgroud)"gdal303", "gdal302", "gdal301", "gdal300", "gdal204", "gdal203", "gdal202", "gdal201", "gdal20", "gdal304", ]
另外,在第 38行添加 gdal 的版本,前缀为 gdal,如下所示"gdal3.4.2",当您在命令提示符中键入时,您将获得该版本gdalinfo --version。
保存文件并完成,您现在可以毫无问题地运行您的 Geodjango 应用程序。祝你好运。
| 归档时间: |
|
| 查看次数: |
2894 次 |
| 最近记录: |