导入geopandas出现错误

10

导入时我遇到以下错误

import geopandas as gpd

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last) 
<ipython-input-3-f8b81fe8ca07> in <module>()
----> 1 import geopandas as gpd

//anaconda/lib/python2.7/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

//anaconda/lib/python2.7/site-packages/geopandas/io/file.py in <module>()
  1 import os
  2 
----> 3 import fiona
  4 import numpy as np
  5 from shapely.geometry import mapping

//anaconda/lib/python2.7/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

 //anaconda/lib/python2.7/site-packages/fiona/collection.py in <module>()
  6 import warnings
  7 
----> 8 from fiona import compat
  9 from fiona.ogrext import Iterator, ItemsIterator, KeysIterator
 10 from fiona.ogrext import Session, WritingSession

ImportError: cannot import name compat

我已经使用anaconda安装了geoPandas,但是当我尝试运行它时,它显示了上述错误。 运行时

conda list

我正在接收

在此输入图像描述

运行以下内容后:

conda install -c conda-forge fiona shapely pyproj rtree
conda install pandas
conda install -c conda-forge geopandas

我正在接收

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-2-f8b81fe8ca07> in <module>()
----> 1 import geopandas as gpd

//anaconda/lib/python2.7/site-packages/geopandas/__init__.pyc 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

//anaconda/lib/python2.7/site-packages/geopandas/io/file.py in <module>()
  1 import os
  2 
----> 3 import fiona
  4 import numpy as np
  5 from shapely.geometry import mapping

//anaconda/lib/python2.7/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

//anaconda/lib/python2.7/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: dlopen(//anaconda/lib/python2.7/site-packages/fiona/ogrext.so,       

2): Library not loaded: @rpath/libnetcdf.11.dylib
  Referenced from: //anaconda/lib/libgdal.20.dylib
  Reason: Incompatible library version: libgdal.20.dylib requires version    

  12.0.0 or later, but libnetcdf.11.dylib provides version 11.0.0

你可以尝试运行以下命令:conda install -c conda-forge fiona shapely pyproj rtreeconda install pandasconda install -c conda-forge geopandas - Ari Cooper-Davis
我已经按照您的指示运行了程序,并编辑了我的问题,附上了现在得到的输出。 - Arshad
尝试创建一个最小安装的新conda环境,看看是否可以正常运行。我无法在我的“root” conda安装中运行“geopandas”,但是在一个新的、最小的“conda”环境中它可以正常工作。 - cd98
2个回答

11
问题是由于fiona和gdal依赖不兼容引起的。通过conda卸载geopandas解决。它也会卸载fiona。 执行conda uninstall geopandas; 执行conda install fiona=1.6 先执行conda search fiona并查看其是否适用于您的Python版本。如果不适用,请为该Python版本创建新环境。(例如:create -n py35 python=3.5 anaconda)
然后执行pip install geopandas 最后,尝试import geopandas并查看您是否仍然会遇到错误。

1
这并没有提供问题的答案。一旦您拥有足够的声望,您将能够在任何帖子上评论。还可以查看这个 what can I do instead - thewaywewere

1

我在MacOs Mojave 10.14中遇到了同样的问题。我发现解决方法是通过pip安装geopandas而不是使用conda。

pip install geopandas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接