ChatGPT解决这个技术问题 Extra ChatGPT

安装 geopandas 时出错:“必须指定 GDAL API 版本”在 Anaconda 中

安装 geopandas 时出现此错误。我一直在网上寻找它的解决方案,但他们都没有真正解释发生了什么以及如何解决它。这是完整的错误:

    Collecting geopandas
  Using cached https://files.pythonhosted.org/packages/24/11/d77c157c16909bd77557d00798b05a5b6615ed60acb5900fbe6a65d35e93/geopandas-0.4.0-py2.py3-none-any.whl
Requirement already satisfied: shapely in c:\users\alvaro\anaconda3\envs\tfdeeplearning\lib\site-packages (from geopandas) (1.6.4.post2)
Requirement already satisfied: pandas in c:\users\alvaro\anaconda3\envs\tfdeeplearning\lib\site-packages (from geopandas) (0.20.3)
Collecting fiona (from geopandas)
  Using cached https://files.pythonhosted.org/packages/3a/16/84960540e9fce61d767fd2f0f1d95f4c63e99ab5d8fddc308e8b51b059b8/Fiona-1.8.4.tar.gz
    Complete output from command python setup.py egg_info:
    A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\Alvaro\AppData\Local\Temp\pip-install-oxgkjg8l\fiona\
如果您输入 gdal-config --version,会发生什么?
像这样混合环境管理器真是个坏主意。我将卸载您使用 pip 和 conda 完成的操作,然后仅使用 conda 重试 - 请参阅下面的答案。
我用 conda 和 python 3.7.2 创建了一个新环境。然后我用 "conda install -c conda-forge geopandas" 安装了 geopandas。但是当我在 jupyter notebook 中导入 geopandas 时,它会说“ModuleNotFoundError: No module named 'geopandas'”
而且 sys.modules 中的“geopandas”也是错误的。这很奇怪,因为我刚刚安装了它。
我检查了,但错误仍然存在

J
JDOaktown
pip install wheel
pip install pipwin

pipwin install numpy
pipwin install pandas
pipwin install shapely
pipwin install gdal
pipwin install fiona
pipwin install pyproj
pipwin install six
pipwin install rtree
pipwin install geopandas

以下是源链接:http://geopandas.org/install.html#installation https://pip.pypa.io/en/latest/user_guide/#installing-from-wheels https://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy

如果还是有问题,可以考虑卸载上面的(pip卸载)重新安装。


它在虚拟环境中创造了奇迹。我在终端中手动安装 fiona 和 gdal。现在我只是按照这个顺序和voela!
第一行是 pip install wheels 还是 pip install wheel
如何设置 pipwin 安装库的路径。因为我在我的 virtualenv 中,所以使用 pipwin 安装的包没有列在 venv/lib/site 包中
谢谢,出于某种原因,这是整个解决方案页面中唯一对我有用的解决方案!
我应该补充一点,我还需要安装 geos 和 decartes。
J
Josh Friedlander

地理空间数据抽象库 (GDAL) 是为矢量地理空间数据格式设计的库。这是安装 Fiona、OGR 的 Python API(其中 doesn't really stand for anything)的先决条件,而这又是 Geopandas 的先决条件。在类 UNIX 系统上,gdal-config 脚本告诉 Fiona 关于您的特定 gdal 安装的信息。

您的 gdal-config 似乎不在 PATH 上的常见位置之一,因此 Fiona 无法找到它。

如果您使用 Anaconda,最好使用 conda remove gdal 删除 gdal,然后重新执行 conda install geopandas

作为一般规则,如果您使用的是 Conda,除非您绝对确定 conda 不支持它,否则您不应该使用 pip 在其中安装某些东西。 (通过指定正确的通道 - -c 参数,可以在 conda 上找到许多包。)特别是在 geopandas 的情况下,maintainers recommend 使用 conda 而不是 pip,因为 pip 要求您正确安装依赖项。


如何与您分享新的错误代码?我必须这样做:ImportError: DLL load failed: No se puede encontrar el módulo especificado。
这是来自康达?试试conda install -c conda-forge geopandas
超级详细的答案,让概念清晰,谢谢。
M
Marcelo Machado Pereira

我通过运行以下命令解决了这个问题:

pip install pipwin
pipwin install gdal
pipwin install fiona
pip install geopandas

在 Windows 上成功运行。


只是想补充一点,我使用 pipwin 而不是 pip 成功安装了 gdal 和 fiona。
我还可以确认 pipwin 可以安装 gdal 和 fiona pip install pipwin pipwin install gdal pipwin install fiona pip install geopandas
您可以使用 pipwin 指定默认超时选项吗?我收到超时错误。
谢谢。它适用于 Windows,Python 3.9。先用 pipwin 安装 gdal 和 finona。剩下的就是点子了。
这对我来说很好。我试图在 Windows 10 上的虚拟 python 环境中安装 geopandas,但我无法设置它。但是使用@Marcelo 的命令列表效果很好。
j
jeffhale

我自己在安装 geopandas 时遇到了很多问题,主要是在下载 fiona 和 gdal 时出现错误。我做了上面的每一步并做了一个 conda install geopandas 但失败了。唯一对我有用的是分别安装 fiona 和 gdal 轮。

转到 Christoph 的链接:gohlke:https://www.lfd.uci.edu/~gohlke/pythonlibs/#fiona

您可以搜索 fiona 和 gdal 轮文件。确保根据您的 python 版本选择文件,如果它是 3.7,那么会有 cp37。

下载文件

转到命令提示符,放入 cd 然后 pip install ,安装 GDAL 轮文件,然后是 fiona,然后只需执行 pip install geopandas。

这个解决方案对我有用。


就像一个魅力,从 lfd.uci.edu/~gohlke/pythonlibs/#fiona 下载并手动安装它。非常感谢
T
Taie

要安装 gdal,我按照以下步骤操作:

从 https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载了满足我电脑的版本(64 位)。该文件为 GDAL-3.1.4-cp37-cp37m-win_amd64.whl 将文件放在桌面上的文件夹中。从 cmd,我移动到该目录并执行 python -m pip install GDAL-3.1.4-cp37-cp37m-win_amd64.whl 然后以相同的方式安装 fiona: python -m pip install Fiona-1.8.18-cp37 -cp37m-win_amd64.whl 对于 shapely,我执行 conda install -c conda-forge shapely 之后,我能够像往常一样安装 keplergl: pip install keplergl install 笛卡尔: conda install -c conda-forge decartes (或 python -m pip 安装笛卡尔)。

通过这种方式,我不必玩弄“环境变量”,因为这可能会影响其他程序干杯..


R
Rami Alloush

对我来说,唯一的解决方案是从这里安装准备好的二进制文件

https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal

然后本地安装

pip install GDAL-3.1.4-cp38-cp38-win_amd64.whl


D
Devarshi Mandal

我可以安装 geopandas 的一种方法是通过 Anaconda Navigator。进入环境并安装包'geopandas'。之后我可以在 spyder 中导入 geopandas 包


M
Michael Delgado

安装地理熊猫

Geopandas 具有非常复杂的多语言依赖关系,其中一些需要跨包使用一致的编译器版本构建。因此,the geopandas docs recommend installing using conda in a new environment using conda-forge only。以下是一些需要牢记的一般最佳实践:

conda 是推荐的安装方法。您可以从 pip 或 source 安装 geopandas,但这将是一个颠簸的过程,不建议这样做。如果您是第一次安装 conda,我建议您从 miniconda 而不是 anaconda 开始,以保持您的基础环境精简。使用 conda 时,不应混合和匹配 conda 通道。安装 geopandas 时,请尝试创建一个全新的环境,而不是安装到您的基础环境中。如果您安装了 anaconda,它会附带大量来自安装在基本环境中的“默认”频道的软件包。我建议删除 anaconda 并安装 miniconda,然后安装到新环境中。尝试使用您计划一次性使用的所有内容创建一个新环境,而不是反复修改环境。换句话说,如果您想将 geopandas 与 scikit_learn、folium 和 rasterio 一起使用,请将它们与单个 conda create 命令一起安装作为最后的手段,删除您的 conda 安装并重新安装 miniconda。绝望的时代需要绝望的措施,这通常可以解决粗糙的安装噩梦。

要创建一个全新的 conda 环境,您可以在其中同时安装所有必要的依赖项,使用 conda-forge 通道:

conda create -n my-geopandas-env -c conda-forge geopandas [all other packages you need]

例如,我可能会设置一个环境,其中包含类似...

conda create -n my-geopandas-env -c conda-forge python=3.9 \
   ipython ipykernel geopandas scipy seaborn fiona matplotlib cartopy

像这样将您的安装捆绑到一个环境创建步骤中可以减少包不同步的机会。要加快此过程,您可以先将 mamba(一种更快的 conda 替代品)安装到您的基础环境中,然后使用 mamba 而不是 conda 运行上述命令。

通常,最好避免在基本环境中安装任何东西(像 mamba 这样的跨环境系统实用程序是少数例外)。如果您已经有一个复杂的基础环境(也许您从 anaconda 而不是 miniconda 开始)这可能是时候删除您的整个 conda 安装并从头开始(我知道这很可怕......对不起!但它会为您省去心痛在将来)。曼巴非常适合加快这个过程。

将编辑器连接到 conda 环境

安装所需的所有软件包后,使用 conda activate my-geopandas-env 激活您的环境。有关详细信息,请参阅 conda guide to managing environments

Jupyter/ipython

包括 jupyter 在内的一些编辑器/IDE 需要额外的软件包 - jupyter 需要安装 ipython 和 ipykernel 才能在笔记本或编辑器中加载环境 - 这就是我在上面的列表中包含 ipykernel 的原因。有关详细信息,请参阅 ipykernel docs

其他IDE

要将此环境链接到 VSCODE、spider 等 IDE,请使用 conda run -n my-geopandas-env which python 找到此 Python 版本的位置,然后将您的编辑器指向此 Python 可执行文件。检查您的特定编辑器的文档以获取有关如何设置与您的编辑器一起使用的 conda 环境的更有针对性的信息:

Spider:使用现有环境的常见问题解答和使用包和环境的 Spider wiki 指南

VSCode:在 vscode 中使用 python 环境

PyCharm:配置 conda 虚拟环境


V
Vinícius Junior

我没有安装 conda,然后只使用 pip 我按照以下步骤操作:

直接下载GDAL和Fiona车轮:

GDAL:https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal

菲奥娜:https://www.lfd.uci.edu/~gohlke/pythonlibs/#fiona

然后:

pip install pip install

就我而言,我确实 pip install GDAL-3.4.1-cp38-cp38-win_amd64.whl 和 Fiona-1.8.21-cp38-cp38-win_amd64.whl。其中 cp38 代表 python 3.8。

之后,您也可以使用 pip 安装 geopandas。

点安装地理熊猫


Z
Zeinab Sobhani

我会加

!pip install descartes

到@JDOaktown 列表。


这在我的情况下有效。也许它也可以帮助其他人。
什么是笛卡尔,什么对你没有用?
M
Max

我从 pip install geopandas 开始并得到错误,但后来尝试使用 conda install --channel conda-forge geopandas 并且错误消失了。


T
Thej

在 RHEL 7.8 中成功安装。它会自动下载所需的软件包。这可能会有所帮助

安装收集的包:certifi、pyproj、shapely、attrs、click、click-plugins、munch、cligj、fiona、geopandas 成功安装 attrs-20.3.0 certifi-2020.11.8 click-7.1.2 click-plugins-1.1.1 cligj -0.7.0 fiona-1.8.17 geopandas-0.8.1 munch-2.5.0 pyproj-3.0.0.post1 shapely-1.7.1


K
Kumail Raza

如果你想在 Windows 虚拟环境中安装 GDAL、Geopandas、Shapely、Fiona 等,请为所有这些下载 .whl 文件,并首先使用 pip install gdal-.whl 安装 GDAL 按照此命令编辑 venv\ 中的 activate.bat 文件Scripts 文件夹并添加 GDAL_CONFIG = \venv\Lib\site-packages\osgeo 然后您可以使用 pip install 安装 rest


正如目前所写的那样,您的答案尚不清楚。请edit添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。您可以找到有关如何写出好答案的更多信息in the help center
I
Ivotje50

我从 Conda 环境中的干净环境 gdal_test 开始,但错误地使用旧的 activate gdal_test 而不是 conda activate gdal_test。这使得 Conda Environment 解析需要很长时间,这就是为什么我首先决定使用其他方法。

外卖:让 conda 处理它,使用适当的新环境。


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅