为了在堆栈溢出上接受一个可行的解决方案,并尽可能多地了解使用 pip 安装 Geopandas 或依赖于它的 OSMnx 等软件包在 Windows 10 上使用 pip 的问题,我将发布我的工作流程以下
1 回答
三个可能的问题,它们与此处讨论的 pip 和 conda 之间的区别有关
首先,pip 需要 Visual C++ 来编译包,而 conda 不需要。
确保您拥有可用的 Visual C++ 的最简单方法是安装Visual Studio的社区发行版。根据选择的选项,这可能是几个 gbs,因此良好的互联网连接有很大帮助。
其次,使用 pip 安装GDAL
2.4 版本而不是 3.0 的轮子,Fiona
Shapely
并且可能Rtree
. 这些可以在这里找到。
如果您已经安装了 GDAL OSGeoW64
,则需要通过删除 C: 驱动器中的整个 OSGEo4w 文件夹来卸载它
选择您已安装的 Python 架构的版本,而不是您计算机的架构。使用这条巧妙的线检查,它提供了架构之间实际差异的指示。
import struct;print(struct.calcsize("P") * 8 )
最后,您可能需要设置环境变量。了解这一点很重要,gdal-config
并且GDAL_CONFIG
特定于基于 linux 的操作系统和 Windows,您正在寻找GDAL_VERSION
和GDAL_DATA
.
确保pip uninstall <package>
在从轮子或其他方式安装之前,并确保在假设它们已正确安装之前实际导入包,即使没有任何错误消息pip install
最后,已经有很多有用的信息,但没有收集在一个单一的地方,所以如果有什么遗漏,当然要编辑答案以包括在内。
编辑:刚刚使用 python 3.7.4 的 64 位版本在 python 环境中尝试了这个,它也可以工作。
请注意,最初,安装失败,OSError: could not find or load spatialindex_c.dll
为了解决这个和可能的其他错误,以及pip uninstall
第二次pip install
轮子。要么我最初没有以正确的顺序安装它们,要么它们是循环依赖,安装所有东西都可以解决。numpy
GDAL
Rtree
Shapely
Fiona
编辑:Stackoverflow 刚刚告诉我这个 q/a 在获得 0 票的同时有超过 1000 次观看。我不关心要点或其他什么,但为了获得有效的答案,如果这对您不起作用,请考虑发表评论或添加您自己的答案。