首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Django中使用libcurl.dll的OSGeo4W的GDAL时的错误

在Django中使用libcurl.dll的OSGeo4W的GDAL时的错误
EN

Stack Overflow用户
提问于 2018-12-08 12:00:27
回答 1查看 1.6K关注 0票数 3

我试图在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,并引发错误入口点未找到

在动态链接库...\osgeo4w64\bin\gdal202.dll中无法找到过程入口点sqlite3_column_origin_name。

还有一个错误,Ordinal没有找到带有libcurl.dll的libcurl.dll(由OSGeo4W作为依赖项安装):

序数361不能位于动态链接库..\osgeo4w64\bin\libcurl.dll中。

python引发错误:

WinError 182操作系统不能运行%1

我做了什么,

我通过将gdal版本降级为gdal201.dll修复了第一个错误,但仍然无法解决第二个错误。

我尝试下载最新的Windows二进制版本的libcurl,并将其替换为,但随后我得到了python引发的另一个错误:

WinError 126无法找到指定的模块

我还检查了curl二进制文件的x64 (与我的python和OSGeo4W一样)。

希望有人能帮忙,太感谢了。

EN

回答 1

Stack Overflow用户

发布于 2020-05-11 22:33:30

在Windows / Django和PyCharm上,我开始收到与前面的错误相同的错误,如下所述:

过程入口点sqlite3_column_origin_name无法位于动态链接库C:\Program \GDAL\gdal203.dll中

对我有用的短篇小说解决方案

重命名:"C:\Program (x86)\Microsoft Visual Studio\Shared\Python37_64\DLLs\sqlite3.dll“改为sqlite3.dll.bak

我用了两个工具来帮助我解决这个问题

用于纠正的步骤

  1. 使用依赖项加载gdal203.dll并查找用于sqlite3_column_origin_name的DLL
  2. 使用Process来确定哪个sqlite3.dll正在加载到内存中(欢迎来到DLL-地狱)。在我的例子中,它位于"C:\Program (x86)\Microsoft Visual Studio\Shared\Python37_64\DLLs“中。
  3. 使用依赖项检查Visual中的sqlite3.dll
  4. 退出PyCharm,并将Visual sqlite3.dll.bak重命名为Visual sqlite3.dll.bak,以迫使它根据路径顺序加载该DLL。谁知道我这么做还会无意中打破什么。未来-我可能会为此恨我。

从Windows 10的新安装开始,然后安装PyCharm、Django、GeoDjango.在我的经验中,如果没有大量的故障排除,这是行不通的。我认为部分原因是DLL-地狱,部分原因是PyCharm的runnerw64.exe用来连接调试器。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53682315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档