Cartopy 无法识别 Windows 上安装的 PROJ 的 GEOS

Cei*_*ems 8 python pip geos proj cartopy

我正在尝试在 Windows 上安装 Cartopy。我已经从他们的网站安装了所有依赖项,但是当我去运行时

pip install Cartopy
Run Code Online (Sandbox Code Playgroud)

我得到:

 Complete output (5 lines):
  setup.py:117: UserWarning: Unable to determine GEOS version. Ensure you have 3.7.2 or later installed, or installation may fail.
    warnings.warn(
  setup.py:166: UserWarning: Unable to determine Proj version. Ensure you have 8.0.0 or later installed, or installation may fail.
    warnings.warn(
  Proj version 0.0.0 is installed, but cartopy requires at least version 8.0.0
Run Code Online (Sandbox Code Playgroud)

我已经跑了并且成功完成了

pip install proj
pip install geos
Run Code Online (Sandbox Code Playgroud)

jla*_*ave 20

使用 pip 在 Windows 上安装 Cartopy 并不简单。尽管如此,这里是一个 cartopy 安装概述,使用了对我有用的方法,特别是针对 Windows 并且不使用 conda。

\n
    \n
  1. 首先卸载 proj、geos 和 shapely(如果已安装),否则跳至步骤 2。这将有助于在后续步骤中链接它们。pip uninstall shapely pip uninstall proj pip uninstall geos

    \n
  2. \n
  3. 从 OSGeo4W 安装 proj 和 geos。您无法使用 pip 来安装它们,因为 pip 指向同名的其他项目。相反,请使用 OSGeo4W 安装程序:https://trac.osgeo.org/osgeo4w/以管理员身份运行并使用所有默认选项,包括默认安装目录(高级安装 -> 从 Internet 安装 -> 所有用户 -> 下一步 ->直接连接 -> download.osgeo.org)。然后搜索 proj,展开 Libs 并单击顶部的两个“skip”(proj 和 proj-data)各一次以切换到最新版本。现在搜索 geos,再次展开 Libs,然后将第一个“skip”(geos)切换到最新版本。然后单击下一步,允许安装程序加载依赖项,然后单击下一步。安装过程对我来说大约需要 5 分钟。您现在已经安装了 proj 和 geos。

    \n
  4. \n
  5. 从 .whl 进行安装。不能使用cartopy安装说明中列出的方法;它无法正常链接到 geos,并且导入 cartopy 时会出现错误。相反,请前往https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely https://pypi.org/project/shapely/#files并下载适合您的 python 安装的版本(例如,如果您运行64位python 3.10,下载shapely\xe2\x80\x912.0.2\xe2\x80\x91cp310\xe2\x80\x91cp310\xe2\x80\x91win_amd64.whl)现在你可以运行pip install \\{path}\\{to}\\{whl}\\{Shapely_file.whl}

    \n
  6. \n
  7. 从 .whl 安装 cartopy。您可以在这里下载适合您的一个:https://www.lfd.uci.edu/~gohlke/pythonlibs/#cartopy https://pypi.org/project/Cartopy/#files选择适合您系统的一个(例如,如果您运行 64 位 python 3.10,请下载 Cartopy\xe2\x80\x910.22.0\xe2\x80\x91cp310\xe2\x80\x91cp310\xe2\x80\x91win_amd64.whl)现在您可以运行pip install \\{path}\\{to}\\{whl}\\{Cartopy_file.whl}

    \n
  8. \n
\n

就是这样!我花了很长时间,筛选了至少几十个“只使用 conda”线程来解决这个问题。

\n

选择相关讨论:https://github.com/SciTools/cartopy/issues/1471 \n https://towardsdatascience.com/install-shapely-on-windows-72b6581bb46c

\n

注意:此答案最初经过测试并适用于 shapely v1.8.2 和 cartopy v0.20.2。

\n