【问题标题】:Pip install --global-option="-L/<library path>": option -L not recongnisedPip install --global-option="-L/<库路径>": 选项 -L 无法识别
【发布时间】:2017-07-24 09:25:04
【问题描述】:

我正在尝试在 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 没有问题。我可能做错了什么?

任何帮助将不胜感激。

【问题讨论】:

  • 您可以使用--no-clean 运行并查看您的构建失败的地方(如here 所述)吗?
  • 感谢@LaurIvan 的评论。我确实在 Temp 文件夹中得到了很多文件,但不知道我应该看什么...

标签: python geos cartopy


【解决方案1】:

这取决于您从哪里获取 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。两个重要文件:

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

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

【讨论】:

  • 谢谢@pelson,您的回答很有帮助。我使用 Anaconda 安装 cartopy,它有效,但它仍然没有回答为什么 pip 安装失败的问题,特别是因为 geos_c.h 文件确实存在。此外,cartopy 包随后被添加到 Anaconda 站点包中,但 QGIS 没有找到。我不得不手动将包移动到 QGIS 使用的文件夹中,这不是最佳选择...
猜你喜欢
  • 2016-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多