PyCharm 2019 artık QGIS ile çalışmıyor


15

PyCharm 2019 güncellemesinden bu yana QGIS Python modüllerini yükleyemiyorum. Otomatik tamamlamayı da kullanamıyorum. Önbelleği zaten sildim (PyCharm'daki önbelleği geçersiz kılarak ve ayrıca kullanıcı ayarları dizinindeki "sistem" klasörünü silerek), hiçbir şey işe yaramaz gibi görünüyor.

Python konsolunu PyCharm'ın içinde başlatırken ve "import qgis.core" yazarken, aşağıdaki hatayı alıyorum:

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.

Bir şey bozuk görünüyor, PyCharm 2018'de.3 her şey yolundaydı. Sys.path ortamları ve yorumlayıcı ayarları doğru görünüyor:

['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']

PyCharm'ı 2019'a güncelleyen var ve bunu onaylayabilir mi? Ayrıca tüm QGIS kurulumunu yeniden kurdum, ancak hiçbir şey işe yaramıyor.

Saplama içeren DLL'lerin şimdi uyumsuz gibi görünüyor?

PyCharm'ı başlatmak için yarasam şöyle:

@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" %*

*.batQGIS ile uyumlu PyCharm'ı çalıştırmak için kullandığınız dosyayı gösterin .
Bay Che

C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.2\bin\pycharm64.exePyCharm 2019'a dikkat çekiyor mu?
Bay Che

evet öyle .. PyCharm başlıyor, ancak qgis DLL'leri yükleyemiyor gibi görünüyor
TheGrudge

C: \ OSGeo4W64 \ etc \ ini \ python-core.bat içindeki PYTHONHOME'u C: \ OSGeo4W64 \ apps \ Python37 olarak ayarlamayı denedim, ancak hiçbir şey işe yaramıyor.
TheGrudge

DLL'lerde, ancak ek asynciokitaplıklarda bu tür sorunlar yaşıyordum . Ben kök dizin C:\OSGeo4W64\libve yan dizin lib çift ​​özdeş kütüphaneler yükledim bulundu C:\OSGeo4W64\apps\Python37\lib. Yan lib kurulumunu kaldırdıktan sonra (PyCharm kullanarak) sorun çözüldü. Ancak sorununuz aynı değil.
Bay Che

Yanıtlar:


2

Güncellenmiş

Ben yeniden Windows 10(net kurulum), QGIS 3.10(net OSGeo4W kurulumu), pycharm 2019/03/01 ( Community Edition Build #PC-193.5662.61, built on December 18, 2019) ve yürütme sırasında hiçbir hata var olduğunu teyit from qgis._core import *pycharm böyle ile başlatılan *.batdosyası:

@ECHO off

set OSGEO4W_ROOT=C:\OSGeo4W64

call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
call "%OSGEO4W_ROOT%\bin\qt5_env.bat"
call "%OSGEO4W_ROOT%\bin\py3_env.bat"

path %OSGEO4W_ROOT%\apps\qgis\bin;%PATH%
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT%\apps\qgis

set GDAL_FILENAME_IS_UTF8=YES

set VSI_CACHE=TRUE
set VSI_CACHE_SIZE=1000000
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins

SET PYCHARM="C:\Program Files\JetBrains\PyCharm Community Edition 2019.3.1\bin\pycharm64.exe"

set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python
set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python37
set PYTHONPATH=%OSGEO4W_ROOT%\apps\Python37\lib\site-packages;%PYTHONPATH%

set QT_QPA_PLATFORM_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\Qt5\plugins\platforms
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT%\apps\qgis

start "PyCharm aware of QGIS" /B %PYCHARM% %*

Yarasa dosyanızı aldım ve sadece pycharm'ın yolunu değiştirdim, ama maalesef çalışmıyor. Önbelleği yeniden geçersiz
kıldım

bu bir sorun olabilir: PyDev konsolu: başlangıç. Python 3.7.0 (v3.7.0: 1bf9cc5093, 27 Haz 2018, 04:59:51) win32 sys.platform 'win32' üzerinde [MSC v.1914 64 bit (AMD64)] python konsolunun göründüğünü gördüm win32 üzerinde çalıştığını düşünmek
TheGrudge

@ user782457 İşte benim piton başlangıç ​​mesajım (seninkiyle aynı):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
Bay Che

evet sanırım Windows altında Python size doğru mimariyi söylemiyor, doğru bilgileri yazdırabilecek başka modüller var gibi görünüyor. Neyse QGIS 3.4.6'yı netinstaller ve PyCharm 2019 ile yeni bir makineye kurdum ve hala DLL'leri yükleyemiyorum. Bu yüzden kurulumumla ilgili bir sorun gibi görünmüyor.
TheGrudge

@TheGrudge Şimdi PyCharm ile hiçbir problemim yok. Yanıt güncellendi.
Bay Che


1

Düzenleme 1: Sadece bir PyCharm 2019.1 sorunu gibi görünüyor. Geçici bir çözüm olarak başlangıç ​​betiği https://www.jetbrains.com/pycharm/download/previous.html adresinden indirilebilen PyCharm 2018.3.6 ile iyi çalışır.

Bu hatalar PyCharm Professional 2019.1 ile de ortaya çıkar, ancak qgis modüllerini yukarıda açıklananla aynı başlangıç ​​komut dosyası / çevre ayarlarıyla başlayan "normal" bir python'dan içe aktarmak mümkündür:

set OSGEO4W_ROOT=C:\Program Files\QGIS 3.6
set PYCHARM="C:\Program Files\JetBrains\PyCharm 2019.1.1\bin\pycharm64.exe"
@ECHO off

call "%OSGEO4W_ROOT%\bin\o4w_env.bat"
call "%OSGEO4W_ROOT%\bin\qt5_env.bat"
call "%OSGEO4W_ROOT%\bin\py3_env.bat"

path %OSGEO4W_ROOT%\apps\qgis\bin;%PATH%
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT%\apps\qgis

set GDAL_FILENAME_IS_UTF8=YES

set VSI_CACHE=TRUE
set VSI_CACHE_SIZE=1000000
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins

set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python
set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python37
set PYTHONPATH=%OSGEO4W_ROOT%\apps\Python37\lib\site-packages;%PYTHONPATH%

set QT_QPA_PLATFORM_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\Qt5\plugins\platforms
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT%\apps\qgis

:: A python able to call "import qgis.core"
start python

:: A python unable to call "import qgis.core"
start "PyCharm unfortunatelley not-aware of QGIS" /B %PYCHARM% %*

1

Bu sorunu doğruladım. PyCharm'da 2018'de kırıldı, 2019'da kırıldı. QGIS python modüllerine aynı .bat dosyasıyla başlatırken komut satırından ve PyCharm'ın önceki sürümlerinden erişebildiğim için ortam değişkenlerim doğru ayarlanmış.

Kesinlikle bir PyCharm hatası. Diğer kullanıcılar da benzer sorunlar bildirdiler .


Yaklaşık 5 ay boyunca hiçbir şey çalışamadığım için PyCharm 2018.3.7'ye geri döndüm. Şimdi DLL yükleme hatası gitti, tekrar unittests ve PyCharm diğer komutları çalıştırabilirsiniz. 2019.x'te neleri değiştirdiklerini bilmiyorum, ama bu benim için sorunlardan başka bir şeye neden olmuyor.
TheGrudge

1

Bu hala PyCharm> = 2019 ile çalışır. PyCharm projenizde referansta bulunduğunuz Python yorumlayıcısını değiştirmeniz yeterlidir. Sonra işaret edecek proje tercüman ayarlamak pycharm başlatmak için .bat dosyasına aşağıda kullanmak OSGEO4W_ROOT\bin\python-qgis.bat, python3.exeaynı dizin olabilir de çalışma içinde.

@echo off
SET OSGEO4W_ROOT=C:\OSGeo4W64
call "%OSGEO4W_ROOT%"\bin\o4w_env.bat

@echo off
path %PATH%;%OSGEO4W_ROOT%\apps\qgis\bin
path %PATH%;%OSGEO4W_ROOT%\apps\grass\grass-7.6.0\lib
path %PATH%;C:\OSGeo4W64\apps\Qt5\bin
path %PATH%;C:\OSGeo4W64\apps\Python37\Scripts

set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\qgis\python
set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python37

set PATH=C:\Program Files\Git\bin;%PATH%

start "PyCharm aware QGIS" /B "C:\Program Files\JetBrains\PyCharm Community Edition 2019.2.2\bin\pycharm64.exe" %*

0

Jonny'nin cevabına ve TheGrudges'un buna yorumuna ek olarak:

PyCharm 2019'da hala düzeltilmedi.2

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.