วิธีการนำเข้า qgis.core ไปยังแอพ Python


11

ฉันใหม่กับ Python ฉันต้องการสร้างแอพ GIS ด้วย Python โดยใช้ห้องสมุด QGIS บน Window 7 64 บิต

วิธีที่ฉันทำ:

ติดตั้ง QGIS 1.7.0

  • ฉันตั้งค่า PYTHONPATH = D: \ Program Files (x86) \ Quantum GIS Wroclaw \ apps \ qgis \ python
  • ฉันรัน python จาก cmd ในไฟล์ D: \ Program (x86) \ Quantum GIS Wroclaw \ bin
  • ฉันพิมพ์ import qgis.core หน้าต่างป๊อปอัปจะปรากฏขึ้นพร้อมข้อความ

โปรแกรมไม่สามารถเริ่มทำงานได้เนื่องจาก qgis_core.dll หายไปจากคอมพิวเตอร์ของคุณ ลองติดตั้งโปรแกรมใหม่เพื่อแก้ไขปัญหานี้

และข้อความเป็น cmd คือ

ImportError: การโหลด DLL ล้มเหลว: ไม่พบโมดูลที่ระบุ

มีใครช่วยฉันบ้าง

คำตอบ:



5

คุณต้องยืนยันสองสิ่ง:

PYTHONPATH

PYTHONPATH ถูกตั้งค่าสำหรับ cmd ที่คุณเรียกใช้ ซึ่งหมายความว่าคุณต้องตั้งค่าทั่วโลกในระบบของคุณ

ไปที่แผงควบคุม -> ระบบ -> ขั้นสูง

คลิกที่ปุ่ม 'ตัวแปรสภาพแวดล้อม'

ในแผง 'ตัวแปรระบบ' ที่ปรากฏขึ้นให้คลิกใหม่และป้อน PYTHONPATH ในฟิลด์ 'ชื่อตัวแปร' ในฟิลด์ 'ค่าตัวแปร' ป้อนเส้นทางไปยัง QGIS

หรือคุณสามารถตั้งค่าโดยตรงบนบรรทัดคำสั่ง cmd ก่อนเปิดตัว python interpreter ด้วย:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

เส้นทาง

DLL ซึ่งจะถูกใช้โดยโมดูล qgis python จะต้องอยู่ในเส้นทางของคุณ เช่นเดียวกับที่คุณตั้งค่า PYTHONPATH ด้านบนให้ตั้งค่าตัวแปรสภาพแวดล้อม PATH เพื่อให้มีไดเรกทอรีที่ qgis_core.dll ตั้งอยู่

ไดเรกทอรีที่จะเพิ่มอาจเป็นไฟล์ D: \ Program (x86) \ Quantum GIS Wroclaw \ apps \ qgis แต่ตรวจสอบว่า qgis_core.dll มีอยู่จริงหรือไม่

OSGEO4W

ตามที่แนะนำในคำตอบอื่น OSGEO4W จะติดตั้งและตั้งค่าทุกอย่างให้คุณ มันจะติดตั้ง Python อื่นซึ่งสามารถทำให้สิ่งต่าง ๆ ซับซ้อนขึ้นเมื่อคุณต้องการติดตั้งโมดูล Python ของบุคคลที่สามที่ไม่มีใน OSGEO4W

คุณก็จะได้รับเวอร์ชั่นล่าสุดของ QGIS ด้วยเช่นกันซึ่งก็คือ 1.7.4 (เร็ว ๆ นี้ 1.8)


1
คุณควรยอมรับคำตอบของฉันแล้ว: meta.stackexchange.com/questions/5234/…
Vincent

1

หากคุณต้องการสร้างแอปพลิเคชันแบบสแตนด์อโลนคุณควรใช้สำเนา qgis.bat ใน% OSGEO4W_ROOT% \ bin เป็นแม่แบบและแทนที่การเรียกไปยัง qgis ด้วยการเรียกไปยัง python (หรือ pythonw ด้วยสคริปต์แอปพลิเคชันของคุณ) จากนั้นคุณจะมี python ทำงานในสภาพแวดล้อมที่คล้ายกับ QGIS

ในคำอื่น ๆ : คัดลอกqgis.batในD:\Program Files (x86)\Quantum GIS Wroclaw\binการmyqgisapp.batและแทนที่บรรทัดสุดท้ายในการคัดลอก

เริ่มต้น "Quantum GIS" / B "% OSGEO4W_ROOT%" \ apps \ qgis \ bin \ qgis.exe% *

กับ

เริ่ม "แอป Quantum GIS ของฉัน" / B "% OSGEO4W_ROOT%" \ apps \ qgis \ bin \ pythonw.exe L: \ path \ to \ your \ python \ app.py

หมายเหตุ: pythonw.exeจะไม่เปิดหน้าต่างข้อความแยกต่างหาก แต่printจะไม่ทำงาน (ถ้าคุณต้องการใช้ให้ใช้python.exe)


ขอบคุณ แต่คุณสามารถแสดงขั้นตอนให้ฉันดูได้ไหม ฉันสับสนมาก
newToAndroid

ฉันไม่มีชื่อเสียง 15 คะแนนสำหรับคำตอบของคุณ ขอบคุณอยู่ดี : D
newToAndroid

0

นอกเหนือจากคำตอบของ Vincent (ซึ่งฉันพบว่าถูกต้อง) เป็นสิ่งสำคัญที่จะต้องทราบว่าเส้นทางไปยัง qgis_core.dll ในตัวแปรสภาพแวดล้อมของเส้นทางควรมาเป็นอันดับแรกในรายการ

ก่อนที่จะค้นพบสิ่งนี้ฉันติดอยู่กับปัญหาที่อธิบายไว้ในการติดตั้ง QGIS 2.0.1 OSGeo4W

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