【问题标题】:fiona import issues in pythonpython中的fiona导入问题
【发布时间】:2018-06-13 11:54:42
【问题描述】:

我已经使用 whl 发行版安装了 fiona.. 但是在导入时出现以下错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-b0161244e1be> in <module>()
----> 1 import fiona
      2 with fiona.open(r'C:\Users\harish.padi\Downloads\BSP\BSP\BSP_default_pred.shp', 'r') as input:
      3     with open(r'C:\Users\harish.padi\Downloads\BSP\BSP\output.txt', 'w') as output:
      4        for pt in input:
      5            id = pt['properties']['id']

c:\program files\python36\lib\site-packages\fiona\__init__.py in <module>()
     75     pass
     76 
---> 77 from fiona.collection import Collection, BytesCollection, vsi_path
     78 from fiona._drivers import driver_count, GDALEnv
     79 from fiona.drvsupport import supported_drivers

c:\program files\python36\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 specified module could not be found.

任何人都可以提出解决方案吗?

【问题讨论】:

标签: python gdal fiona


【解决方案1】:

也许最好提到 GDAL 2.2.4 是用于 Python 2.7(如提供的链接中所示)。

我在 Python 3.7、Fiona 1.8.6 和 GDAL 3.0.0 中遇到了同样的 ImportError 问题

通过用 2.2.4 替换 GDAL 3.0.0,我得到了它的工作,没有考虑其他细节

【讨论】:

  • 这也是我的解决方案,Windows 的 GDAL 3.0.0 似乎被破坏了,将 windows 轮降级到 2.4.1 后导入错误消失了。
【解决方案2】:

当我安装 fiona 并尝试导入它时,我也遇到了一些麻烦。我有这样的消息

>>> import fiona
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "D:\Software\Ingenieria\Anaconda2\lib\site-packages\fiona\__init__.py", l
ine 77, in <module>
    from fiona.collection import Collection, BytesCollection, vsi_path
  File "D:\Software\Ingenieria\Anaconda2\lib\site-packages\fiona\collection.py",
 line 9, in <module>
    from fiona.ogrext import Iterator, ItemsIterator, KeysIterator
ImportError: DLL load failed: The specified module could not be found.

最后它对我有什么作用?

  • 我从link 安装了发行版 GDAL 2.2.4 和 Fiona
  • 然后我检查了我的计算机是否有用于 python 的 c++ 编译器(here link 包含一些关于您可能需要安装哪一个的信息)。在一些论坛问题中,我读到 GDAL 需要这个编译器才能工作。
  • 然后我将 Osgeo 文件夹路径(有 fiona 的 dll)添加到我的路径环境变量中,一些图片来自我的电脑 Print screen 1 Print screen 2

完成这些步骤后,我再也没有遇到过 fiona 的问题。起初,我使用的是 GDAL 版本 1.1.4,但它从未与这个版本一起使用。您可以先尝试使用版本一,如果它不起作用,则安装版本 2.2.4

【讨论】:

    【解决方案3】:

    您缺少 OGR、GDAL 或两者的 DLL。你的帖子很少涉及操作系统等细节,所以我能做的最好的就是让你参考安装说明:

    http://toblerity.org/fiona/README.html#installation

    另外,我注意到您似乎使用的是 Python 3.6。引用说明:

    “Fiona 需要 Python 2.6、2.7、3.3 或 3.4 和 GDAL/OGR 1.8+。”

    这也可能是一个潜在问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-02
      • 2021-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多