Fiona ImportError: DLL โหลดล้มเหลว


11

ฉันได้ใช้คำสั่งผสมที่ยอดเยี่ยม Shapely / Fiona บน Linux เรียบร้อยแล้ว แต่ตอนนี้ฉันต้องสร้างสภาพแวดล้อมการผลิตบน Windows และมีปัญหาเดียว เมื่อฉันพยายามนำเข้า fiona ฉันได้รับข้อผิดพลาดต่อไปนี้:

ข้อผิดพลาดในการนำเข้า DLL

หากฉันพยายามตรวจสอบการพึ่งพาของ ogrext.pdy โดยใช้ dependancy walker ดูเหมือนว่ากำลังพยายามโหลด GDAL รุ่น 1.10 dll และล้มเหลว แม้ว่าแปลกฉันติดตั้ง GDAL 1.9.2 และดูเหมือนว่าจะนำเข้าสู่หลามโดยไม่มีปัญหา (จาก osgeo นำเข้า gdal) ดังนั้นอาจไม่เกี่ยวข้องกับปัญหาการนำเข้า fiona นอกจากนี้ฉัน 100% ฉันดาวน์โหลดตัวติดตั้ง fiona สำหรับ python 2.7 เนื่องจากฉันรู้ว่าปัญหาอาจเกิดขึ้นได้หากคุณใช้ไฟล์. pyd สำหรับ python เวอร์ชั่นอื่น

หมายเหตุฉันใช้การติดตั้ง python 2.7.5 แบบสแตนด์อโลนโดยไม่ใช้โปรแกรมติดตั้ง osgeo4w


หากต้องการ GDAL 1.10 และคุณมีเพียง 1.9 เท่านั้นที่ไม่สามารถใช้งานได้
Nathan W

อืม, พยายามกับ 1.10 ตอนนี้, เรื่องเดียวกัน
U2ros

@sgillies ควรอยู่แถว ๆ นั้น เขาอาจจะช่วยได้
นาธาน W

ดูเหมือนว่าปัญหาที่คล้ายกันเกิดขึ้นกับรุ่นของ fiona สองสามรุ่นกลับมาบางอย่างเกี่ยวกับเส้นทาง GDAL ฉันจะเล่นรอบ ๆ อีก ...
U2ros

3
ฉันไม่ได้ใช้ Windows แต่ฉันจะลองติดตั้ง Fiona ที่lfd.uci.edu/~gohlke/pythonlibs/#fionaร่วมกับผู้ติดตั้ง GDAL นี้: lfd.uci.edu/~gohlke/pythonlibs/#gdal
sgillies

คำตอบ:


4

ปัญหาที่เกิดขึ้นอย่างต่อเนื่องนี้เคยเกิดจาก Fiona ไม่สามารถใช้กับ GDAL ได้ แต่ Fiona ได้รับการปรับปรุงดังนั้นคำตอบด้านล่างอาจมีความเกี่ยวข้องมากกว่า

Fiona 1.8.9 รองรับ GDAL 3.0

เอกสารอ้างอิง:

มีการเพิ่มโมดูล shim และการสนับสนุนสำหรับ GDAL 3.0 แพ็คเกจนี้สามารถสร้างและใช้งานกับ GDAL 3.0 และ PROJ 6.1 หรือ 6.2 โปรดทราบว่าล้อ 1.8.9 ที่เราจะอัพโหลดไปยัง PyPI จะมี GDAL 2.4.2 และ PROJ 4.9.3 เช่นเดียวกับล้อ 1.8.8


2

ฉันมีปัญหาเดียวกันหลังจากติดตั้ง GDAL โดยวิธีที่อธิบายไว้ในวิธีการเรียกใช้ OGR ในสคริปต์ ArcGIS? (รวมถึงการตั้งค่าตัวแปรสภาพแวดล้อม) ฉันไม่แน่ใจว่ามันใช้งานไม่ได้หรือว่าเป็นไปตาม GDAL รุ่นเก่า 1.11 หรือ Python 2.7 ที่อาจทำงานไม่ถูกต้อง

ฉันคงได้โดยทำตามขั้นตอนข้างต้นโดยเฉพาะอย่างยิ่งการดาวน์โหลด GDAL เวอร์ชันล่าสุด 2.1 จากhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal โดยการติดตั้งแพ็คเกจด้วย pip ทำให้ GDAL รุ่นเก่าถูกลบและแทนที่ด้วยเวอร์ชั่นล่าสุด หลังจากรีสตาร์ท IDE ฉันสามารถนำเข้า gdal และ fiona ได้โดยไม่มีข้อผิดพลาด


2

แก้ไข 202202021:

ไม่แน่ใจว่าสิ่งนี้มีความเกี่ยวข้องเพียงใด แต่ให้เชื่อมโยงลิงก์เก่ากับลิงก์ที่ใช้งานได้

เมื่อคืนนี้ฉันมีปัญหา หากต้องการแก้ไขให้แน่ใจว่าคุณ:

  1. มีGDAL Libraries (ติดตั้ง core. msi, และ the python bindings .msi)
  2. ตั้งค่าตัวแปรสภาพแวดล้อมของ GDAL

ฉันคิดว่านั่นคือทั้งหมดที่ฉันทำ ถ้ามันไม่ทำงานแจ้งให้เราทราบและฉันจะตรวจสอบต่อไป

old1 old2


2
ทั้งสองมีการเชื่อมโยงหลายมิติล้าสมัย --404 ไม่ found--
jberrio

1

ฉันมีปัญหาเดียวกันทั้งหมด คุณจำเป็นต้องใช้แพคเกจ GDAL จากhttp://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal น่าเศร้าที่มันเป็น gdal 1.1 cf เลย http://sgillies.net/blog/1190/fiona-1-0-1/#comment2806


1.10 ไม่น้อยกว่า 1.9
U2ros

1
ตกลงความคิดเห็นที่สำคัญ!: ฉันยังคงมีปัญหากับเรื่องนี้ในคอมพิวเตอร์บางเครื่อง ... ทำไม? เพราะฉันไม่ได้อ่านข้อความ! ในส่วนหัวของไซต์นั้นมีคำเตือนเกี่ยวกับการพึ่งพา ... และในคอมพิวเตอร์ที่มันไม่ทำงานฉันก็หายตัวไปของ Visual c ++ redistributables!
U2ros

1

คำถามเก่า แต่ทิ้งไว้ที่นี่สำหรับคนอื่นที่สะดุดมัน

Geoff Boeing เขียนบทช่วยสอนที่ดีเกี่ยวกับวิธีการติดตั้งไลบรารี geopandas ซึ่งไปติดตั้งฟิโอน่า (รวมถึงไลบรารี่อื่น ๆ เช่นหุ่นดีหุ่นดี gdal, pyproj ... ) บทช่วยสอนตั้งอยู่ที่นี่: http://geoffboeing.com/2014/09/using-geopandas-windows/

ขั้นตอนที่ทำให้ฉันสะดุดคือการที่ฉันมีการติดตั้ง osgeo ก่อนหน้านี้ (ฉันคิดว่าการติดตั้ง postGIS) และมันก็เล่นได้ไม่ดีกับไฟล์ wheel จากhttp://www.lfd.uci.edu/~gohlke/pythonlibs/# Fiona

การถอนการติดตั้งไลบรารีที่เกี่ยวข้องทั้งหมดแล้วสร้างเฉพาะจากไฟล์วงล้อเหล่านั้นแก้ไขข้อผิดพลาดในการนำเข้า DLL สำหรับฉัน (ใช้ windows 10)


1

เช่นเดียวกับคนอื่น ๆ ให้ฉันแบ่งปันประสบการณ์ของฉันกับการแก้ปัญหานี้สำหรับผู้ที่ยังคงดิ้นรนกับมันใน Windows และผู้ที่มี python & gdal รุ่นเดียวกัน

ในกรณีของฉันฉันมีImportError: DLL load failed: The specified module could not be foundข้อผิดพลาดหลังจากติดตั้งgeopandas (เวอร์ชั่น 0.6.2)มีCONDAและงูหลาม 3.7.3และเมื่อพยายามที่จะนำเข้าทั้งGDAL (เวอร์ชั่น 3.0.2)และฟิโอน่า (เวอร์ชัน 1.8.11) ฉันใช้ Windows 10 (รุ่น 1709)

หลังจากที่พยายามเสนอโซลูชั่นที่แตกต่างกันไม่ประสบความสำเร็จ (ส่วนต่อไปนี้คู่มือเจฟฟ์โบอิ้งที่จะติดตั้ง geopandas บน Windows และการติดตั้งคริสโต Gohlke ของ GDAL ล้อ ) สิ่งที่ดูเหมือนจะทำให้มันทำงานสำหรับฉันได้รับการติดตั้งMicrosoft Visual c ++ Redistributable สำหรับ Visual Studio 2015 2017 และ 2019เป็น ระบุโดย Gohlke ในส่วนหัวของหน้าของเขาและเป็นที่กล่าวถึงโดย@ U2ros

ดังนั้นไม่จำเป็นต้องติดตั้งล้อของ Gohlke คุณสามารถใช้ conda หรือ pip เพื่อติดตั้ง fiona และ geopandas และตามที่ระบุไว้ในการอัปเดตคำตอบนี้ GDAL รุ่น 3 ได้รับการสนับสนุนแน่นอนโดย fiona (รุ่น 1.8.9+)


0

ฉันเห็นคำถามนี้ได้รับการตอบหลายครั้ง แต่ฉันต้องการแบ่งปันประสบการณ์ของฉันในการแก้ไขปัญหาสำหรับผู้ที่มีปัญหาเดียวกันกับรุ่นหลามเดียวกันและมาที่คำถามนี้

ฉันยังมีปัญหาบางอย่างเมื่อฉันติดตั้งฟิโอน่าและพยายามนำเข้า ฉันมีข้อความประเภทนี้

>>> 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 จากลิงค์นี้
  • จากนั้นฉันตรวจสอบว่าคอมพิวเตอร์ของฉันมีคอมไพเลอร์ c ++ สำหรับไพ ธ อนหรือไม่ ( ลิงก์ที่นี่พร้อมข้อมูลบางอย่างเกี่ยวกับอันที่คุณอาจต้องติดตั้ง) ในบางคำถามในฟอรัมฉันอ่านว่า GDAL ต้องการคอมไพเลอร์นี้เพื่อให้สามารถทำงานได้
  • จากนั้นฉันก็เพิ่มเส้นทางโฟลเดอร์ Osgeo (มี dlls สำหรับ fiona) กับตัวแปรสภาพแวดล้อมเส้นทางของฉัน, ภาพบางภาพจากพีซีของฉันหน้าจอ พิมพ์1 พิมพ์หน้าจอ 2

หลังจากทำตามขั้นตอนเหล่านั้นฉันไม่เคยมีปัญหากับฟิโอน่าอีกแล้ว ตอนแรกฉันใช้ GDAL เวอร์ชัน 1.1.4 แต่มันไม่เคยทำงานกับอันนี้เลย คุณสามารถลองครั้งแรกกับรุ่นหนึ่งและถ้ามันไม่ทำงานแล้วติดตั้งรุ่น 2.2.4

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.