我正在尝试在Windows计算机上安装cartopy,并且之前通过OSGeo4W64安装了QGIS和GEOS。现在,当我尝试安装cartopy时,我收到以下错误:
fatal error: 'geos_c.h' file not found
如上所述,GEOS确实存在,并且该文件也可以在目录中找到。我尝试将Pip作为全局选项的绝对路径提供给Pip,如下所示:
pip install --global-option="-Lc:\OSGeo4W64\include"
遗憾的是,这不起作用,因为Pip无法识别-L库选项:
error: option -L not recognized.
我也试过-I,-l和-i,只是为了看看会发生什么,但每次都会得到同样的错误。我还找到了关于如何为global-option提供路径的示例,他们确实使用了-L和-I而没有问题。我能做错什么?
非常感谢任何帮助。
答案 0 :(得分:1)
取决于您应该将GEOS头文件链接到哪个GEOS头文件。如果你从Christoph Gohlke的优秀二进制文件,或conda-forge,enthought或Anaconda那里得到它,我相信所有人都将geos_c.h重命名为geos.h.如果从其他来源获得,可能是重命名不会发生。
您可以在https://github.com/conda-forge/cartopy-feedstock/blob/master/recipe/上看到Windows上的conda-forge如何构建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找到。