0

为了在堆栈溢出上接受一个可行的解决方案,并尽可能多地了解使用 pip 安装 Geopandas 或依赖于它的 OSMnx 等软件包在 Windows 10 上使用 pip 的问题,我将发布我的工作流程以下

4

1 回答 1

1

三个可能的问题,它们与此处讨论的 pip 和 conda 之间的区别有关

首先,pip 需要 Visual C++ 来编译包,而 conda 不需要。

确保您拥有可用的 Visual C++ 的最简单方法是安装Visual Studio的社区发行版。根据选择的选项,这可能是几个 gbs,因此良好的互联网连接有很大帮助。

其次,使用 pip 安装GDAL2.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_VERSIONGDAL_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 ShapelyFiona

编辑:Stackoverflow 刚刚告诉我这个 q/a 在获得 0 票的同时有超过 1000 次观看。我不关心要点或其他什么,但为了获得有效的答案,如果这对您不起作用,请考虑发表评论或添加您自己的答案。

于 2019-07-17T13:00:53.653 回答