python中的fiona导入问题

时间:2018-06-13 11:54:43

标签: python gdal fiona

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

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

3 个答案:

答案 0 :(得分:3)

当我安装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版,但从未与该版本一起使用。您可以先尝试使用版本1,如果它不起作用,则安装版本2.2.4

答案 1 :(得分:3)

也许最好提到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,我可以正常使用它,而无需考虑其他细节

答案 2 :(得分:0)

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

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

另外,我注意到你似乎在使用Python 3.6。引用说明:

&#34; Fiona需要Python 2.6,2.7,3.3或3.4以及GDAL / OGR 1.8 +。&#34;

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