Od aktualizacji do PyCharm 2019 nie mogę załadować modułów QGIS Python. Nie mogę również użyć automatycznego uzupełniania. Już usunąłem pamięć podręczną (przez unieważnienie pamięci podręcznej w PyCharm, a także przez usunięcie folderu „systemowego” w katalogu ustawień użytkownika), nic nie działa.
Podczas uruchamiania konsoli Python w PyCharm i wpisywania „import qgis.core” pojawia się następujący błąd:
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.
Coś wydaje się być zepsute, w PyCharm 2018.3 wszystko było w porządku. Wygląda na to, że środowiska sys.path i ustawienia interpretera są poprawne:
['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']
Czy ktoś zaktualizował PyCharm do 2019 roku i może to potwierdzić? Ponownie zainstalowałem całą instalację QGIS, ale wydaje się, że nic nie działa.
Wygląda na to, że biblioteki DLL zawierające kody pośredniczące są teraz niezgodne?
Mój nietoperz do uruchamiania PyCharm wygląda następująco:
@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" %*
źródło
*.bat
plik, którego używasz do uruchamiania PyCharm, zgodny z QGIS.C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.2\bin\pycharm64.exe
wskazuje na twój nowy PyCharm 2019?asyncio
bibliotekami. Odkryłem, że zainstalowałem podwójne identyczne biblioteki w katalogu głównymC:\OSGeo4W64\lib
i lib katalogu bocznegoC:\OSGeo4W64\apps\Python37\lib
. Po usunięciu bocznej instalacji lib (przy użyciu PyCharm) problem został rozwiązany. Ale twój problem nie jest identyczny.Odpowiedzi:
Zaktualizowano
Ponownie zainstalowałem
Windows 10
(wyczyść instalację),QGIS 3.10
(wyczyść instalację OSGeo4W), PyCharm 2019.3.1 (Community Edition Build #PC-193.5662.61, built on December 18, 2019
) i potwierdzam, że nie mam błędów podczas uruchamianiafrom qgis._core import *
z PyCharm uruchomionym z takim*.bat
plikiem:źródło
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
Ta odpowiedź na przepełnienie stosu wskazuje, że przyczyną problemu jest znany problem PyCharm (przynajmniej z Anacondą) w PyCharm 2019.1
ImportError: DLL load failed: The specified module could not be found
.Ma to zostać naprawione w PyCharm 2019.1.2
źródło
Edycja 1: Wydaje się, że jest to tylko problem PyCharm 2019.1. Jako tymczasowe rozwiązanie skrypt startowy działa dobrze z PyCharm 2018.3.6, który można pobrać ze strony https://www.jetbrains.com/pycharm/download/previous.html
Te błędy występują również w PyCharm Professional 2019.1, ale możliwe jest zaimportowanie modułów qgis z „normalnego” pytona, który został uruchomiony z tymi samymi ustawieniami skryptów startowych / środowiska jak opisano powyżej:
źródło
Zweryfikowałem ten problem. Działa dobrze w PyCharm do 2018.3.7, zepsuty w 2019.1.3. Moje zmienne środowiskowe są skonfigurowane poprawnie, ponieważ mogę uzyskiwać dostęp do modułów python QGIS za pomocą wiersza polecenia i wcześniejszych wersji PyCharm podczas uruchamiania ich z tym samym plikiem .bat.
Zdecydowanie błąd PyCharm. Inni użytkownicy zgłosili podobne problemy .
źródło
To nadal działa z PyCharm> = 2019. Może być konieczna zmiana interpretera Pythona, do którego odwołujesz się w projekcie PyCharm. Korzystam z poniższego pliku .bat, aby uruchomić PyCharm, a następnie ustawiam interpreter projektu na wskazanie
OSGEO4W_ROOT\bin\python-qgis.bat
,python3.exe
w tym samym katalogu może również działać.źródło
Oprócz odpowiedzi Jonny'ego i komentarza TheGrudges na ten temat:
Nadal nie zostało to naprawione w PyCharm 2019.2
źródło