![](/img/trans.png)
[英]Error installing geopandas:“ A GDAL API version must be specified ” in Visual Studio Code
[英]Error installing geopandas:" A GDAL API version must be specified " in Anaconda
安裝 geopandas 時出現此錯誤。 我在 web 上尋找它的解決方案,但他們都沒有真正解釋發生了什么以及如何解決它。這是完整的錯誤:
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\
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卸載)重新安裝。
地理空間數據抽象庫 (GDAL) 是為矢量地理空間數據格式設計的庫。 這是安裝 Fiona 的先決條件,Fiona 是用於 OGR 的 Python API(它實際上並不代表任何東西),而這反過來又是 Geopandas 的先決條件。 在類 UNIX 系統上, gdal-config
腳本告訴 Fiona 關於您的特定gdal
安裝的信息。
您的gdal-config
似乎不在 PATH 上的常見位置之一,因此 Fiona 無法找到它。
如果您使用的是 Anaconda,最好使用conda remove gdal
,然后執行新的conda install geopandas
。
作為一般規則,如果您使用的是 Conda,除非您絕對確定 conda 不支持它,否則您不應該使用 pip 在其中安裝某些東西。 (通過指定正確的通道 - -c
參數可以在 conda 上找到許多包。)特別是在 geopandas 的情況下,維護人員建議使用 conda 而不是 pip,因為 pip 要求您正確安裝依賴項。
我通過運行以下命令解決了這個問題:
pip install pipwin
pipwin install gdal
pipwin install fiona
pip install geopandas
在 Windows 上成功運行。
我自己在安裝 geopandas 時遇到了很多問題,主要是在下載 fiona 和 gdal 時出現錯誤。 我做了上面的每一步並做了一個 conda install geopandas 但失敗了。 唯一對我有用的是分別安裝 fiona 和 gdal 輪。
轉到 Christoph 的鏈接:gohlke: https ://www.lfd.uci.edu/~gohlke/pythonlibs/#fiona
這個解決方案對我有用。
要安裝 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
為了勻稱,我執行conda install -c conda-forge shapely
之后,我可以像往常一樣安裝keplergl: pip install keplergl
安裝笛卡爾: conda conda install -c conda-forge descartes
(或python -m pip install descartes
)。
通過這種方式,我不必玩弄“環境變量”,因為這可能會影響其他程序干杯..
對我來說,唯一的解決方案是從這里安裝准備好的二進制文件
https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal
然后本地安裝
pip install GDAL-3.1.4-cp38-cp38-win_amd64.whl
我可以安裝 geopandas 的一種方法是通過 Anaconda Navigator。 進入環境並安裝包'geopandas'。 之后我可以在 spyder 中導入 geopandas 包
Geopandas 具有非常復雜的多語言依賴關系,其中一些需要跨包使用一致的編譯器版本構建。 因此, geopandas 文檔建議在僅使用 conda-forge 的新環境中使用 conda 進行安裝。 以下是一些需要牢記的一般最佳實踐:
conda
是推薦的安裝方法。 您可以從 pip 或 source 安裝 geopandas,但這將是一個顛簸的過程,不建議這樣做。 如果您是第一次安裝 conda,我建議您從miniconda
而不是anaconda
開始,以保持您的基礎環境精簡。anaconda
,它會附帶大量來自安裝在基本環境中的“默認”頻道的軟件包。 我建議刪除 anaconda 並安裝 miniconda,然后安裝到新環境中。conda create
命令將它們一起安裝 要創建一個全新的 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 activate my-geopandas-env
激活您的環境。 有關更多信息,請參閱管理環境的 conda 指南。
Jupyter/ipython
包括 jupyter 在內的一些編輯器/IDE 需要額外的軟件包——jupyter 需要安裝 ipython 和 ipykernel 才能在筆記本或編輯器中加載環境——這就是我在上面的列表中包含ipykernel
的原因。 有關更多信息,請參閱ipykernel 文檔。
其他IDE
要將此環境鏈接到 VSCODE、蜘蛛等 IDE,請使用 conda conda run -n my-geopandas-env which python
找到此 Python 版本的位置,然后將您的編輯器指向此 Python 可執行文件。 檢查您的特定編輯器的文檔以獲取有關如何設置與您的編輯器一起使用的 conda 環境的更有針對性的信息:
我沒有安裝 conda,然后只使用 pip 我按照以下步驟操作:
直接下載GDAL和Fiona車輪:
然后:
就我而言,我確實 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。
我會加
!pip install descartes
到@JDOaktown 列表。
我從pip install geopandas
開始並收到錯誤,但后來嘗試使用conda install --channel conda-forge geopandas
並且錯誤消失了。
在 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
如果你想在 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
我從 Conda 環境中的干凈環境gdal_test
開始,但錯誤地使用舊的activate gdal_test
而不是conda activate gdal_test
。 這使得 Conda Environment 解析需要很長時間,這就是為什么我首先決定使用其他方法。
外賣:讓 conda 處理它,使用適當的新環境。
我遇到這個問題不是使用 anaconda/windows,而是使用python:3.6 Docker 圖像。 谷歌搜索總是讓我想到這個問題,所以我想我會分享我是如何解決我的問題的,以防其他人也出現在這里。
基於這里,在運行pip install geopandas
或pip install requirements.txt
之前,需要先在Dockerfile
安裝系統相關包:
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
libatlas-base-dev \
libgdal-dev \
gfortran
以下適用於 macOS:
brew 安裝 gdal --HEAD
通過運行gdal-config --version
驗證安裝
之后 pip 安裝正常,沒有問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.