[英]Import Error when Importing Geopandas
嘗試將 geopandas 導入我的 jupyter 筆記本時,出現ImportError: DLL load failed
。 我已經從我的終端運行pip install geopandas
並得到“要求已經滿足”。 我也試過pip install --upgrade pip setuptools
也沒有用。 這是嘗試導入 geopandas 時的完整錯誤報告:
ImportError Traceback (most recent call last)
<ipython-input-2-fc7d1d298f0c> in <module>()
----> 1 import geopandas
~\AppData\Local\Continuum\Anaconda3\lib\site-packages\geopandas\__init__.py in <module>()
2 from geopandas.geodataframe import GeoDataFrame
3
----> 4 from geopandas.io.file import read_file
5 from geopandas.io.sql import read_postgis
6 from geopandas.tools import sjoin
~\AppData\Local\Continuum\Anaconda3\lib\site-packages\geopandas\io\file.py in <module>()
1 import os
2
----> 3 import fiona
4 import numpy as np
5
~\AppData\Local\Continuum\Anaconda3\lib\site-packages\fiona\__init__.py in <module>()
67 from six import string_types
68
---> 69 from fiona.collection import Collection, BytesCollection, vsi_path
70 from fiona._drivers import driver_count, GDALEnv
71 from fiona.drvsupport import supported_drivers
~\AppData\Local\Continuum\Anaconda3\lib\site-packages\fiona\collection.py in <module>()
7
8 from fiona import compat
----> 9 from fiona.ogrext import Iterator, ItemsIterator, KeysIterator
10 from fiona.ogrext import Session, WritingSession
11 from fiona.ogrext import (
ImportError: DLL load failed: The operating system cannot run %1.
感謝所有幫助。
首先將 conda 通道添加到您的設置中(最后一個通道具有最高優先級)。
conda config --add channels conda-forge
conda config --add channels defaults
然后嘗試使用 conda 創建新環境。
conda create -n test_python python=3.7 geopandas
就我而言,這是 gdal 的問題,尤其是 conda-forge 上的最新版本(前一個工作正常)。 如果在測試環境中安裝 geopandas 失敗,您可以嘗試使用 conda 安裝此版本 (win64) 的gdal 。
conda install "downloaded file path"
波音教授在他的博文中很好地解釋了錯誤的原因:
pip 安裝 geopandas 似乎在 Linux 和 Mac 上運行良好。 但是,它的幾個依賴項具有 C 擴展,這會導致在 Windows 上使用 pip 編譯失敗...... Windows 上的最佳選擇是盡可能安裝 Python 輪子,因為它們包含預編譯的擴展。 Anaconda 附帶的 conda 包管理器對其存儲庫中可用的包執行此操作。 或者,加州大學歐文分校熒光動力學實驗室的 Christoph Gohlke 為 Windows 維護了一個大型 Python 輪子庫。
解決方案:您必須手動卸載 geopandas 及其依賴項並手動安裝軟件包,在我的情況下,這就是解決此問題的方法。 要做到這一點:
首先你必須卸載任何現有的 OSGeo4W、GDAL、Fiona、pyproj、rtree 或 shapely conda uninstall <package name>
,方法是在命令提示符下寫conda uninstall <package name>
(例如: conda uninstall fiona
)。
從Gohlke下載 GDAL、Fiona、pyproj、rtree 和shapely 的輪子。 確保選擇與您的架構(64 位)和 Python 版本(2.7 或 3.6)相匹配的輪文件。
pip install 你下載的wheel文件,按照步驟2中的命令,命令如下: pip install GDAL-2.2.4-cp36-cp36m-win_amd64.whl
。
將新的 GDAL 路徑(類似於 C:\\Anaconda\\Lib\\site-packages\\osgeo,您已在計算機中找到 osgeo 的位置)添加到 windows PATH 環境變量中。 要了解添加新 PATH 的過程,請單擊此處。
我最近在我的工作機器上安裝 geopandas 時遇到了這個問題(我沒有將目錄添加到 PATH 環境的管理員權限)。
我意識到 pip 安裝過程為 osgeo 創建了 2 個文件夾。 我只是將包含所有可執行文件 (*.exe) 的文件復制到帶有 python 腳本 (*.py) 的文件夾中,並且導入工作正常。 (我猜 python 腳本假設其他文件在同一目錄中)
您可能需要在移動文件后重新啟動 jupyter 以注冊更改。
例如:將Users\\USERNAME\\AppData\\Roaming\\Python\\Lib\\site-packages\\osgeo
到Users\\USERNAME\\AppData\\Roaming\\Python\\Python27\\site-packages\\osgeo
希望能幫助到你。
我們遇到了同樣的問題,使用 Python 3.7.1 和 geopandas 0.6.1 為我們解決了這個問題:
conda create -n test_python python=3.7.1 geopandas=0.6.1
為了在 Jupyter 中切換到正確的環境,我們安裝了 nb_conda(請參閱如何在 Jupyter Notebook 中選擇您的 conda 環境)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.