【问题标题】:Geopandas read_fileGeopandas 读取文件
【发布时间】:2015-10-26 13:40:01
【问题描述】:

在使用read_file 函数时,我遇到了一些关于 geopandas 和 fiona 的问题。这是我的回溯:

df = gpd.read_file('/Users/danqing0703/github/Land-Use-Simulation/LBS_Data_Fetching/osm_api/singapore_roads.geojson')

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-3-0c9777b3c6b2> in <module>()
----> 1 boros = GeoDataFrame.from_file('nybb.shp')

/Users/danqing0703/anaconda/lib/python2.7/site-packages/geopandas/geodataframe.pyc in from_file(cls, filename, **kwargs)
    159 
    160         """
--> 161         return geopandas.io.file.read_file(filename, **kwargs)
    162 
    163     @classmethod

/Users/danqing0703/anaconda/lib/python2.7/site-packages/geopandas/io/file.pyc in read_file(filename, **kwargs)
      9     opening the file.
     10     """
---> 11     import fiona
     12     bbox = kwargs.pop('bbox', None)
     13     with fiona.open(filename, **kwargs) as f:

/Users/danqing0703/anaconda/lib/python2.7/site-packages/fiona/__init__.py in <module>()
     70 from six import string_types
     71 
---> 72 from fiona.collection import Collection, BytesCollection, vsi_path
     73 from fiona._drivers import driver_count, GDALEnv, supported_drivers
     74 from fiona.odict import OrderedDict

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

ImportError: dlopen(/Users/danqing0703/anaconda/lib/python2.7/site-packages/fiona/ogrext.so, 2): Library not loaded: /usr/local/lib/libjpeg.8.dylib
  Referenced from: /usr/local/lib/libgdal.1.dylib
  Reason: Incompatible library version: libgdal.1.dylib requires version 13.0.0 or later, but libjpeg.8.dylib provides version 12.0.0

【问题讨论】:

  • conda update jpeg 可以解决问题。你 pip install fiona 了吗?它与系统 libjpeg 相关联,这是一个相当糟糕的信号。如果可行,我会更改为 conda 的版本。如果这不是一个选项,您必须使用 pip 重新安装 fiona
  • 在此处查看我的回答,了解更多信息:stackoverflow.com/questions/28848270/…
  • @cel 所以你建议我遵循这个:conda remove fiona pip uninstall fiona conda install fiona?
  • 这是我在 conda update jpeg $ conda update jpeg Fetching package metadata: ...... # 所有请求的包已经安装后得到的。 # /Users/danqing0703/anaconda 环境中的包:# jpeg 8d 1
  • 是的,pip uninstall 后跟 conda install 应该可以工作。

标签: python anaconda geopandas fiona


【解决方案1】:

更新系统的libjpeg破坏了fiona的动态链接。有两种方法可以解决:

我更喜欢:pip uninstall fionaconda install fiona

如果你想坚持使用 pip:pip uninstall fionapip install fiona

更详细的解释,也可以在这里查看我的回答:

import matplotlib.pyplot gives ImportError: dlopen(…) Library not loaded libpng15.15.dylib

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-22
    • 2019-05-22
    • 1970-01-01
    • 2021-12-16
    • 2020-07-22
    • 1970-01-01
    相关资源
    最近更新 更多