我正在尝试在Windows机器上安装cartopy,并且以前已经通过OSGeo4W64安装了QGIS和GEOS。现在,当我尝试安装Cartopy时,出现以下错误:

fatal error: 'geos_c.h' file not found


如前所述,GEOS确实存在,并且该文件也位于目录中。我尝试将Pip的绝对路径作为全局选项提供给库,如下所示:

pip install --global-option="-Lc:\OSGeo4W64\include"


不幸的是,这不起作用,因为Pip无法识别-L库选项:

error: option -L not recognized.


我也尝试了-I,-l和-i,只是想看看会发生什么,但是每次都会遇到相同的错误。我还找到了有关如何为全局选项提供路径的示例,它们确实使用了-L和-I而不出现问题。我可能做错了什么?

任何帮助将不胜感激。

最佳答案

这取决于您应该从何处获得GEOS,以及应该链接到哪个GEOS头文件。如果您是从Christoph Gohlke出色的二进制文件中获得的,或者是conda-forge,enthought或Anaconda,那么我相信都可以将geos_c.h重命名为geos.h。如果您是从其他来源获得的,则可能是重命名没有发生。

您可以在https://github.com/conda-forge/cartopy-feedstock/blob/master/recipe/上查看conda-forge如何在Windows上构建cartopy。两个重要文件:


https://github.com/conda-forge/cartopy-feedstock/blob/master/recipe/bld.bat
https://github.com/conda-forge/cartopy-feedstock/blob/master/recipe/cartopy.win.patch


请注意,后一个补丁文件如何将标头依赖项重命名为geos.h而不是geos_c.h,因为它使用的是conda-forge打包的GEOS。您可能需要根据自己的情况做类似的事情。

关于此主题的历史记录也可以在https://github.com/SciTools/conda-recipes-scitools/issues/29#issuecomment-66497972中找到。

关于python - pip install --global-option =“-L/<库路径>”:选项-L未确认,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45276861/

10-11 20:22