4

我已经使用 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.

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

4

3 回答 3

6

也许更好地提及 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 我让它工作了,没有考虑其他细节

于 2019-06-20T10:04:02.080 回答
4

当我安装 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.

最后它对我有什么作用?

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

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

于 2018-06-27T09:02:08.153 回答
0

您缺少 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+。”

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

于 2018-06-13T12:18:17.933 回答