我正在尝试在我的Django项目中安装GeoDjango,并在GDAL中遇到奇怪的错误。
在Django文档之后,我使用OSGeo4W64安装了GDAL,GEOS,PROJ,具体来说,这些是我选择安装在OSGeo4W64安装程序上的软件包:
gdal v2.3.2-2
geos v3.7.0-1
proj v5.2.0-1
我还按照记录设置了我的环境变量。
我遇到了什么错误
最初,当我启动Django项目(使用runserver
)时,python尝试寻找gdal202.dll
并引发错误找不到入口点:
过程入口点sqlite3_column_origin_name不能为 位于动态链接库 ... \ osgeo4w64 \ bin \ gdal202.dll
还有一个错误找不到序号,其中包含 libcurl.dll (由OSGeo4W作为依赖项安装):
序号361不能位于动态链接库中 .. \ osgeo4w64 \ bin \ libcurl.dll
和python引发错误:
[WinError 182]操作系统无法运行%1
我做什么
我通过将gdal
版本降级为gdal201.dll
来解决了第一个错误,但仍然不知道如何解决第二个错误。
我尝试下载最新的Windows二进制版本的libcurl并替换为libcurl,但是随后出现了python引发的另一个错误:
[WinError 126]找不到指定的模块
我还检查了我的curl二进制文件的arch是x64(与python和OSGeo4W相同)。
希望有人能提供帮助,非常感谢。
答案 0 :(得分:0)
在带有Django和PyCharm的Windows上,我开始收到与您以前的错误之一相同的错误,如下所述:
过程入口点sqlite3_column_origin_name不在动态链接库C:\ Program Files \ GDAL \ gdal203.dll中
重命名为“ C:\ Program Files(x86)\ Microsoft Visual Studio \ Shared \ Python37_64 \ DLLs \ sqlite3.dll”到sqlite3.dll.bak
我使用了两种工具来帮助解决这个问题
从全新安装Windows 10开始,然后安装PyCharm,Django,GeoDjango ...如果没有我的经验丰富的疑难解答,它将无法正常工作。我认为部分原因是来自DLL地狱,部分归因于PyCharm的Runnerw64.exe用于挂接调试器。