Fiona ImportError: Tải DLL thất bại


10

Tôi đã sử dụng combo Shapely / Fiona tuyệt vời thành công trên Linux, nhưng bây giờ tôi cần tạo một loại môi trường sản xuất trên windows và chỉ có một vấn đề. Khi tôi cố gắng nhập fiona, tôi gặp lỗi sau:

Nhập lỗi DLL

Nếu tôi cố kiểm tra các phụ thuộc của ogrext.pdy bằng cách sử dụng walker walker, có vẻ như nó đang cố tải GDAL phiên bản 1.10 dll và không thành công. Kỳ lạ thay, tôi đã cài đặt GDAL 1.9.2 và nó dường như nhập vào python mà không gặp vấn đề gì (từ osgeo nhập gdal). Vì vậy, có lẽ nó thậm chí không liên quan đến vấn đề nhập khẩu fiona. Ngoài ra, tôi đã tải xuống 100% trình cài đặt fiona cho python 2.7 vì tôi biết các vấn đề có thể phát sinh nếu bạn sử dụng các tệp .pyd dành cho một phiên bản khác của python.

Lưu ý, tôi đang sử dụng cài đặt độc lập của python 2.7.5, mà không sử dụng trình cài đặt osgeo4w.


Nếu nó cần GDAL 1.10 và bạn chỉ có 1.9 sẽ không hoạt động
Nathan W

Hmmm, đã thử với 1.10 ngay bây giờ, cùng một câu chuyện
U2ros

@sgillies nên ở đâu đó. Anh ta có thể giúp đỡ.
Nathan W

Có vẻ như một vấn đề tương tự đã xảy ra với phiên bản osx của vài phiên bản fiona trở lại, một cái gì đó để làm với các đường dẫn GDAL, tôi sẽ chơi xung quanh một số nữa ...
U2ros

3
Tôi không sử dụng Windows, nhưng tôi sẽ thử các trình cài đặt Fiona tại lfd.uci.edu/~gohlke/pythonlibs/#fiona cùng với các trình cài đặt GDAL: lfd.uci.edu/~gohlke/pythonlibs/#gdal .
sgillies

Câu trả lời:


4

Vấn đề đang diễn ra này từng được gây ra bởi Fiona không tương thích với GDAL, nhưng Fiona đã được cập nhật, vì vậy các câu trả lời dưới đây có thể phù hợp hơn.

Fiona 1.8.9 hỗ trợ GDAL 3.0

Tài liệu:

Một mô-đun shim và hỗ trợ cho GDAL 3.0 đã được thêm vào. Gói hiện có thể được xây dựng và sử dụng với GDAL 3.0 và PROJ 6.1 hoặc 6.2. Lưu ý rằng các bánh xe 1.8.9 mà chúng tôi sẽ tải lên PyPI sẽ chứa GDAL 2.4.2 và PROJ 4.9.3 như trong các bánh xe 1.8.8.


2

Tôi đã gặp vấn đề tương tự sau khi cài đặt GDAL theo phương pháp được giải thích trong Cách chạy OGR trong ArcGIS ScScript? (bao gồm thiết lập các biến môi trường). Tôi không chắc liệu nó không hoạt động hay không, nhưng nó dựa trên phiên bản GDAL cũ 1.11 hoặc các ràng buộc Python 2.7 có thể không hoạt động đúng.

Tôi đã sửa nó bằng cách làm theo các bước trên, đặc biệt là bằng cách tải xuống phiên bản GDAL mới nhất 2.1 từ http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal . Bằng cách cài đặt gói bằng pip, phiên bản GDAL cũ đã bị xóa và thay thế bằng phiên bản mới nhất. Sau khi khởi động lại IDE, tôi có thể nhập gdal và fiona mà không gặp bất kỳ lỗi nào.


2

chỉnh sửa 202202021:

không chắc bây giờ có liên quan như thế nào, nhưng đã liên kết lại các liên kết cũ với các liên kết đang hoạt động.

Tôi đã có vấn đề này chỉ đêm qua. Để khắc phục, hãy đảm bảo bạn:

  1. Có các Thư viện GDAL (cài đặt lõi .msi, sau đó là các ràng buộc python .msi)
  2. Thiết lập các biến môi trường GDAL .

Tôi nghĩ đó là tất cả những gì tôi đã làm. Nếu nó không hoạt động hãy cho tôi biết và tôi sẽ điều tra thêm.

old1 cũ2


2
Cả hai siêu liên kết đã lỗi thời - 404 không tìm thấy--
jberrio

1

Tôi có chính xác cùng một vấn đề. Bạn cần sử dụng gói GDAL từ http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal . Đáng buồn thay, đó là gdal 1.1. xem http://sgillies.net/blog/1190/fiona-1-0-1/#comment2806


1.10 không bao giờ hơn 1.9
U2ros

1
Được rồi, bình luận quan trọng!: Tôi vẫn gặp vấn đề với điều này trên một số máy tính ... tại sao? Bởi vì tôi không đọc văn bản! Trong tiêu đề trang web, có một cảnh báo về sự phụ thuộc ... và trên các máy tính không hoạt động, tôi đã thiếu các bản phân phối trực quan c ++!
U2ros

1

Câu hỏi cũ nhưng để lại đây cho bất cứ ai khác tình cờ thấy nó:

Geoff Boeing đã viết một hướng dẫn tuyệt vời về cách cài đặt thư viện geopandas, qua đó cài đặt fiona (cũng như các thư viện khác như shapely, gdal, pyproj ...). Hướng dẫn được đặt tại đây: http://geoffboasing.com/2014/09/USE-geopandas-windows/

Bước khiến tôi gặp khó khăn là tôi đã cài đặt osgeo (tôi nghĩ từ việc cài đặt postGIS) và nó không hoạt động tốt với các tệp bánh xe từ http://www.lfd.uci.edu/~gohlke/pythonlibs/# fiona

Gỡ cài đặt tất cả các thư viện liên quan và sau đó xây dựng riêng từ các tệp bánh xe đó đã sửa lỗi nhập DLL cho tôi (sử dụng windows 10)


1

Giống như những người khác, hãy để tôi chia sẻ kinh nghiệm của mình với việc giải quyết vấn đề này cho những người vẫn đang vật lộn với nó trên Windows và những người có cùng phiên bản python & gdal.

Trong trường hợp của tôi, tôi đã ImportError: DLL load failed: The specified module could not be foundgặp lỗi sau khi cài đặt geopandas (phiên bản 0.6.2) với condapython 3.7.3 , và khi cố gắng nhập cả gdal (phiên bản 3.0.2)fiona (phiên bản 1.8.11) . Tôi đang dùng Windows 10 (phiên bản 1709).

Sau khi thử các giải pháp được đề xuất khác nhau nhưng không thành công (về cơ bản là theo hướng dẫn của Geoff Boeing để cài đặt geopandas trên Windows và cài đặt các bánh xe GDAL của Christoph Gohlke ), có vẻ như nó đã hoạt động với tôi là cài đặt Microsoft Visual C ++ Redistributable cho Visual Studio 2015, 2017 và 2019 như được chỉ định bởi Gohlke trong tiêu đề của trang của mình và như được đề cập bởi @ U2ros .

Vì vậy, không cần phải cài đặt bánh xe của Gohlke; bạn chỉ có thể sử dụng conda hoặc pip để cài đặt fiona và geopandas. Và như được chỉ ra trong bản cập nhật cho câu trả lời này , GDAL phiên bản 3 thực sự được hỗ trợ bởi fiona (phiên bản 1.8.9+).


0

Tôi thấy câu hỏi này đã được trả lời nhiều lần, nhưng tôi muốn chia sẻ kinh nghiệm của mình để giải quyết vấn đề, cho những người có cùng vấn đề với cùng một phiên bản python và đến với câu hỏi này.

Tôi cũng gặp một số rắc rối khi cài đặt fiona và cố gắng nhập nó. Tôi đã có loại tin nhắn này

>>> 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.

Làm thế nào nó làm việc cho tôi vào cuối?

  • Tôi đã cài đặt các bản phân phối GDAL 2.2.4 và Fiona từ liên kết này
  • Sau đó, tôi đã kiểm tra xem máy tính của tôi có trình biên dịch c ++ cho python hay không ( ở đây liên kết với một số thông tin về cái nào bạn có thể cần cài đặt). Trong một số diễn đàn câu hỏi tôi đọc rằng GDAL cần trình biên dịch này để có thể làm việc.
  • Sau đó, tôi đã thêm đường dẫn thư mục Osgeo (có dlls cho fiona) vào biến môi trường đường dẫn của tôi, một số bức ảnh từ pc của tôi Màn hình in 1 Màn hình in 2

Sau khi thực hiện những bước đó tôi không bao giờ có thêm bất kỳ vấn đề nào với fiona. Lúc đầu, tôi đang sử dụng phiên bản GDAL 1.1.4 nhưng nó không bao giờ hoạt động với phiên bản này. Trước tiên, bạn có thể thử phiên bản đầu tiên và nếu nó không hoạt động thì hãy cài đặt phiên bản 2.2.4

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.