Sejak pembaruan ke PyCharm 2019 saya tidak dapat memuat modul QGIS Python. Saya tidak dapat menggunakan penyelesaian otomatis juga. Saya sudah menghapus cache (dengan membatalkan cache di PyCharm dan juga dengan menghapus folder "sistem" di direktori pengaturan pengguna), sepertinya tidak ada yang berhasil.
Saat memulai konsol Python di dalam PyCharm dan mengetik "import qgis.core", saya mendapatkan kesalahan berikut:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.2\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
File "C:\OSGEO4~1\apps\qgis-ltr\python\qgis\core\__init__.py", line 27, in <module>
from qgis._core import *
File "C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.2\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
module = self._system_import(name, *args, **kwargs)
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
Sesuatu sepertinya rusak, di PyCharm 2018.3 semuanya baik-baik saja. Lingkungan sys.path dan pengaturan juru bahasa tampaknya benar:
['C:\\Program Files\\JetBrains\\PyCharm Community Edition '
'2018.2.2\\helpers\\pydev',
'C:\\OSGEO4~1\\apps\\qgis-ltr\\python',
'C:\\OSGEO4~1\\apps\\qgis-ltr\\python\\plugins',
'C:\\Program Files\\JetBrains\\PyCharm Community Edition '
'2018.2.2\\helpers\\third_party\\thriftpy',
'C:\\Program Files\\JetBrains\\PyCharm Community Edition '
'2018.2.2\\helpers\\pydev',
'C:\\OSGeo4W64\\apps\\Python37\\python37.zip',
'C:\\OSGEO4~1\\apps\\Python37\\DLLs',
'C:\\OSGEO4~1\\apps\\Python37\\lib',
'C:\\OSGeo4W64\\apps\\Python37',
'C:\\OSGEO4~1\\apps\\Python37',
'C:\\OSGEO4~1\\apps\\Python37\\lib\\site-packages',
'C:\\OSGEO4~1\\apps\\Python37\\lib\\site-packages\\win32',
'C:\\OSGEO4~1\\apps\\Python37\\lib\\site-packages\\win32\\lib',
'C:\\OSGEO4~1\\apps\\Python37\\lib\\site-packages\\Pythonwin']
Adakah yang memperbarui PyCharm ke 2019 dan dapat mengkonfirmasi ini? Saya juga menginstal ulang seluruh instalasi QGIS, tetapi sepertinya tidak ada yang berhasil.
Sepertinya DLL yang berisi stub tidak kompatibel sekarang?
Kelelawar saya untuk memulai PyCharm terlihat seperti ini:
@echo off
SET OSGEO4W_ROOT=C:\OSGeo4W64
call "%OSGEO4W_ROOT%"\bin\o4w_env.bat
call "%OSGEO4W_ROOT%"\apps\grass\grass-7.4.2\etc\env.bat
@echo off
path %PATH%;%OSGEO4W_ROOT%\apps\qgis\bin
path %PATH%;%OSGEO4W_ROOT%\apps\grass\grass-7.4.2\lib
path %PATH%;%OSGEO4W_ROOT%\apps\Qt5\bin
path %PATH%;%OSGEO4W_ROOT%\apps\Python37\Scripts
path %PATH%;C:\Program Files\Docker\Docker\Resources\bin
path %PATH%;C:\Program Files\7-Zip
set QT_PLUGIN_PATH=C:\OSGeo4W64\apps\Qt5\plugins
set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\qgis-ltr\python
set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\qgis-ltr\python\plugins
set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python37
start "PyCharm aware of Quantum GIS" /B "C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.2\bin\pycharm64.exe" %*
sumber
*.bat
file Anda yang Anda gunakan untuk menjalankan PyCharm, kompatibel dengan QGIS.C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.2\bin\pycharm64.exe
menunjuk ke PyCharm 2019 baru Anda?asyncio
perpustakaan tambahan . Saya menemukan bahwa saya menginstal perpustakaan identik ganda di direktori rootC:\OSGeo4W64\lib
dan lib direktori sampingC:\OSGeo4W64\apps\Python37\lib
. Setelah menghapus instalasi lib sisi (menggunakan PyCharm), masalahnya teratasi. Tetapi masalah Anda tidak identik.Jawaban:
Diperbarui
Saya menginstal ulang
Windows 10
(menghapus instalasi),QGIS 3.10
(menghapus instalasi OSGeo4W), PyCharm 2019.3.1 (Community Edition Build #PC-193.5662.61, built on December 18, 2019
) dan saya mengkonfirmasi bahwa saya tidak memiliki kesalahan saat menjalankanfrom qgis._core import *
dengan PyCharm diluncurkan dengan*.bat
file seperti :sumber
PyDev console: starting. Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Ini Stack Overflow jawaban poin ke sana menjadi masalah PyCharm dikenal (dengan Anaconda setidaknya) di PyCharm 2019,1 menyebabkan
ImportError: DLL load failed: The specified module could not be found
masalah.Ini dimaksudkan untuk diperbaiki di PyCharm 2019.1.2
sumber
Sunting 1: Tampaknya hanya masalah PyCharm 2019.1. Sebagai solusi sementara, skrip awal berfungsi dengan baik dengan PyCharm 2018.3.6, yang dapat diunduh dari https://www.jetbrains.com/pycharm/download/previous.html
Kesalahan ini juga terjadi pada PyCharm Professional 2019.1, tetapi dimungkinkan untuk mengimpor modul qgis dari python "normal" yang dimulai dengan skrip startup / pengaturan lingkungan yang sama seperti yang dijelaskan di atas:
sumber
Saya telah memverifikasi masalah ini. Bekerja dengan baik di PyCharm hingga 2018.3.7, rusak di 2019.1.3. Variabel lingkungan saya diatur dengan benar, karena saya dapat mengakses modul python QGIS melalui baris perintah dan versi PyCharm yang lebih lama ketika meluncurkannya dengan file .bat yang sama.
Jelas merupakan bug PyCharm. Pengguna lain telah melaporkan masalah serupa .
sumber
Ini masih berfungsi dengan PyCharm> = 2019. Anda mungkin hanya perlu mengubah juru bahasa Python yang Anda referensi dalam proyek PyCharm Anda. Saya menggunakan file .bat di bawah ini untuk memulai PyCharm kemudian mengatur interpreter proyek untuk menunjuk ke
OSGEO4W_ROOT\bin\python-qgis.bat
,python3.exe
dalam direktori yang sama juga dapat bekerja.sumber
Selain jawaban Jonny dan komentar TheGrudges untuk itu:
Itu masih belum diperbaiki di PyCharm 2019.2
sumber