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

Alv*_*les 9 python anaconda conda geopandas

安装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\
Run Code Online (Sandbox Code Playgroud)

JDO*_*own 89

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
Run Code Online (Sandbox Code Playgroud)

这里是源链接: 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。现在我只是按照这个顺序进行操作,瞧! (3认同)
  • 谢谢您,出于某种原因,这是整页解决方案中唯一对我有用的解决方案! (2认同)
  • 我应该补充一点,我还需要安装 geos 和 decartes。 (2认同)

小智 47

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

pip install pipwin
pipwin install gdal
pipwin install fiona
pip install geopandas
Run Code Online (Sandbox Code Playgroud)

在 Windows 上运行成功。

  • 我还可以确认 pipwin 用于安装 gdal 和 fiona `pip install pipwin` `pipwin install gdal` `pipwin install fiona` `pip install geopandas` (3认同)
  • 只是想补充一点,我使用 pipwin 而不是 pip 成功安装了 gdal 和 fiona。 (2认同)

Tai*_*aie 10

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

  1. 从https://www.lfd.uci.edu/~gohlke/pythonlibs/下载了满足我的电脑(64位)的版本 。该文件是 GDAL-3.1.4-cp37-cp37m-win_amd64.whl

  2. 将文件放在桌面上的文件夹中。

  3. 从cmd,我移动到该目录并执行python -m pip install GDAL-3.1.4-cp37-cp37m-win_amd64.whl

  4. 接下来以同样的方式安装 fiona:python -m pip install Fiona-1.8.18-cp37-cp37m-win_amd64.whl

  5. 为了身材匀称,我执行了conda install -c conda-forge shapely

  6. 之后,我就可以像往常一样安装 keplergl:pip install keplergl

  7. 安装笛卡尔:(conda install -c conda-forge descartes或python -m pip install descartes)。

这样,我就不必使用“环境变量”,因为这可能会影响其他程序干杯..


小智 9

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

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

  • 您可以搜索 fiona 和 gdal 轮文件。确保您根据您的python 版本选择文件,如果它是 3.7,那么将会有 cp37。
  • 下载文件
  • 转到命令提示符,输入 cd ,然后 pip install ,安装 GDAL 轮文件,然后是 fiona,然后执行 pip install geopandas。

这个解决方案对我有用。


Jos*_*der 8

地理空间数据抽象库(GDAL)是为矢量地理空间数据格式设计的库。这是安装Fiona(用于OGR的Python API)的先决条件(实际上并不能代表任何东西),而这又是Geopandas的先决条件。在类似UNIX的系统上,gdal-config脚本会告诉Fiona有关您的特定gdal安装的信息。

看来您gdal-config不在PATH的通常位置之一,因此Fiona无法找到它。

如果您使用的是Anaconda,最好的方法是用来去除gdal,conda remove gdal然后再做一次conda install geopandas。

通常,如果您使用的是Conda,则永远不要使用pip在其中安装某些东西,除非您完全确定conda不支持它。(可以通过指定正确-c的channel-参数在conda 上找到许多软件包。)特别是在geopandas的情况下,维护者建议在pip上使用conda ,因为pip要求您正确安装依赖项。


Mic*_*ado 8

安装geopandas

Geopandas 具有非常复杂的多语言依赖关系,其中一些依赖关系需要使用跨包一致的编译器版本来构建。因此,geopandas 文档建议仅使用 conda-forge 在新环境中使用 conda 安装。以下是一些需要牢记的一般最佳实践:

  1. conda是推荐的安装方法。您可以从 pip 或源安装 geopandas,但这将是一个坎坷的旅程,因此不推荐。如果您是第一次安装 conda,我建议您从miniconda(或者更好的miniforge是conda-forge-first miniconda 变体)开始,而不是anaconda,以保持您的基础环境精简。
  2. 使用 conda 时,不应混合搭配 conda通道。
  3. 安装 geopandas 时,尝试创建一个新的环境,而不是安装到您的基础环境中。如果您已anaconda安装,它会附带大量来自安装在您的基本环境中的“默认”通道的软件包。我建议删除 anaconda 并安装 miniconda,然后安装到新环境中。
  4. 尝试一次性创建一个包含您计划使用的所有内容的新环境,而不是迭代地修改环境。换句话说,如果您想将 geopandas 与 scikit_learn、folium 和 rasterio 一起使用,请使用单个conda create命令将它们安装在一起
  5. 作为最后的手段,删除 conda 安装并重新安装 miniconda。危急时刻需要采取危急措施,这通常可以解决棘手的安装噩梦。

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

conda create -n my-geopandas-env -c conda-forge geopandas [all other packages you need]
Run Code Online (Sandbox Code Playgroud)

例如,我可能会设置一个环境,其中包含以下内容:

conda create -n my-geopandas-env -c conda-forge python=3.9 \
   ipython ipykernel geopandas scipy seaborn fiona matplotlib cartopy
Run Code Online (Sandbox Code Playgroud)

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

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

将编辑器连接到 conda 环境

安装完所需的所有软件包后,使用 激活您的环境conda activate my-geopandas-env。有关更多信息,请参阅管理环境的 conda 指南。

Jupyter/ipython

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

其他集成开发环境

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


小智 7

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

直接下载 GDAL 和 Fiona 轮子:

然后:

  1. pip install <gdal.whl>
  2. pip install <fiona.whl>

就我而言,我确实 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。

  1. pip 安装 geo pandas


Ram*_*ush 5

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

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

然后本地安装即可

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