PyCharm 2019 QGIS के साथ अब काम नहीं कर रहा है


15

PyCharm 2019 के अपडेट के बाद से मैं QGIS पायथन मॉड्यूल को लोड करने में असमर्थ हूं। मैं ऑटो पूर्णता का उपयोग नहीं कर सकता। मैंने पहले ही कैश हटा दिया था (PyCharm में कैश को अमान्य करके और उपयोगकर्ता सेटिंग निर्देशिका में "सिस्टम" फ़ोल्डर को हटाकर), कुछ भी काम नहीं करता है।

जब PyCharm के अंदर पायथन कंसोल को शुरू करना और "qgis.core आयात करना" टाइप करना, मुझे निम्न त्रुटि मिलती है:

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.

कुछ टूटा हुआ लगता है, PyCharm 2018.3 में सब कुछ ठीक था। Sys.path वातावरण और दुभाषिया सेटिंग्स सही प्रतीत होती हैं:

['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 में अपडेट किया है और इसकी पुष्टि कर सकता है? मैंने संपूर्ण QGIS इंस्टॉलेशन को फिर से स्थापित किया, लेकिन कुछ भी काम नहीं करता है।

ऐसा लगता है कि डीएलएल वाले स्टब्स अब असंगत हैं?

PyCharm शुरू करने के लिए मेरा बल्ला इस तरह दिखता है:

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

मुझे अपनी *.batफ़ाइल दिखाएं जो आप QGIS के साथ संगत PyCharm को चलाने के लिए उपयोग करते हैं।
श्री चे।

C:\Program Files\JetBrains\PyCharm Community Edition 2018.2.2\bin\pycharm64.exeआपके नए PyCharm 2019 की ओर इशारा करता है?
श्री चे।

हाँ यह करता है .. PyCharm शुरू कर रहा है, लेकिन यह qgis DLL को लोड करने में असमर्थ प्रतीत होता है
TheGrudge

मैंने C: \ OSGeo4W64 \ etc \ ini \ python-core.bat को C: \ OSGeo4W64 \ apps \ Python37 के रूप में अच्छी तरह से सेट करने की कोशिश की, लेकिन कुछ भी काम नहीं लगता।
theGrudge

मुझे DLL के साथ इस तरह की समस्याएं थीं, लेकिन अतिरिक्त asyncioपुस्तकालयों के साथ । मैंने पाया कि मैंने रूट डायरेक्टरी C:\OSGeo4W64\libऔर साइड डाइरेक्टरी लिब में डबल समान लाइब्रेरी स्थापित की हैं C:\OSGeo4W64\apps\Python37\lib। साइड लीबर इंस्टॉलेशन (PyCharm का उपयोग करके) को हटाने के बाद, समस्या हल हो गई थी। लेकिन आपकी समस्या एक जैसी नहीं है।
श्री चे।

जवाबों:


2

अपडेट किया गया

मैंने पुनः स्थापित किया Windows 10(स्पष्ट इंस्टॉलेशन), QGIS 3.10(स्पष्ट OSGeo4W इंस्टॉलेशन), PyCharm 2019.3.1 ( Community Edition Build #PC-193.5662.61, built on December 18, 2019) और मैं पुष्टि करता हूं कि from qgis._core import *ऐसी *.batफ़ाइल के साथ लॉन्च किए गए PyCharm के साथ निष्पादित करते समय मेरी कोई त्रुटि नहीं है :

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

मैंने आपकी बैट फाइल ली और केवल पिचकार्म का रास्ता बदल दिया, लेकिन दुर्भाग्य से यह काम नहीं कर रहा है। मैंने कैश को फिर से अमान्य कर दिया और परियोजना को फिर से अनुक्रमित किया, लेकिन QGIS आयात काम नहीं कर रहे हैं (वही DLL लोड त्रुटि)
TheGrudge

यह एक समस्या हो सकती है: PyDev कंसोल: शुरू करना। पायथन 3.7.0 (v3.7.0: 1bf9cc5093, जून 27 2018, 04:59:51) [MSC v.1914 64 बिट (AMD64)] win32 sys.platform 'win32' पर मैंने सिर्फ इतना ही कहा है कि अजगर सांत्वना लगता है यह सोचने के लिए कि यह win32 पर चल रहा है
TheGrudge

@ user782457 यहाँ मेरा अजगर स्टार्टअप मैसेज है (आपके जैसा ही):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
श्री चे।

हाँ, मुझे लगता है कि विंडोज के तहत पायथन आपको सही आर्किटेक्चर नहीं बता रहा है, ऐसा लगता है कि अन्य मॉड्यूल हैं जो सही जानकारी को प्रिंट कर सकते हैं। वैसे भी मैंने एक नई मशीन पर netinstaller और PyCharm 2019 के साथ QGIS 3.4.6 स्थापित किया है, और मैं अभी भी DLL को लोड करने में असमर्थ हूं। तो यह मेरी स्थापना के साथ एक समस्या नहीं लगती है।
द ग्रेट

@ TheGrudge अब मुझे Pyharm के साथ कोई समस्या नहीं हुई। उत्तर अपडेट किया गया।
श्री चे

1

यह स्टैक ओवरफ़्लो जवाब एक वहाँ होने के अंक में जाना जाता PyCharm मुद्दा (कम से कम एनाकोंडा के साथ) के कारण PyCharm 2019.1 में ImportError: DLL load failed: The specified module could not be foundमुद्दा।

यह PyCharm 2019.1.2 में तय होने का इरादा है


दुर्भाग्य से यह अभी भी 2019.1.3 में मौजूद है
TheGrudge

1

संपादित 1: केवल एक PyCharm 2019.1 अंक होने लगता है। एक अस्थायी समाधान के रूप में स्टार्ट-स्क्रिप्ट PyCharm 2018.3.6 के साथ ठीक काम करता है, जो कि https://www.jetbrains.com/pycharm/download/prepret.html से डाउनलोड किया जा सकता है

यह त्रुटियां PyCharm Professional 2019.1 के साथ होती हैं, लेकिन यह एक "सामान्य" अजगर से qgis मॉड्यूल को आयात करना संभव है जो कि ऊपर वर्णित उसी स्टार्टअप स्क्रिप्ट / पर्यावरणीय सेटिंग्स के साथ शुरू किया गया था:

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

मैंने इस मुद्दे को सत्यापित किया है। 2018.3.7 में टूट गया 2018.3.7 तक Pyharm में ठीक काम करता है। मेरे पर्यावरण चर को सही ढंग से सेट किया गया है, क्योंकि मैं QGIS पायथन मॉड्यूल को कमांड लाइन के माध्यम से और PyCharm के पुराने संस्करणों के माध्यम से एक्सेस कर सकता हूं जब उन्हें एक ही .bat फ़ाइल के साथ लॉन्च किया जाता है।

निश्चित रूप से एक PyCharm बग। अन्य उपयोगकर्ताओं ने इसी तरह की समस्याओं की सूचना दी है


मैं PyCharm 2018.3.7 पर वापस आ गया हूं, क्योंकि मुझे लगभग 5 महीनों तक कुछ भी काम नहीं मिला था। अब DLL लोड त्रुटि हो गई है, मैं अपने unittests और अन्य आदेश PyCharm में फिर से चला सकते हैं। मुझे नहीं पता कि 2019.x में वे क्या बदल गए हैं, लेकिन यह मेरे लिए समस्याओं के अलावा कुछ भी नहीं है।
द जार्ज

1

यह अभी भी PyCharm> = 2019 के साथ काम करता है। आपको अपने PyCharm प्रोजेक्ट में संदर्भित Python दुभाषिया को बदलने की आवश्यकता हो सकती है। मैं Pybharm को शुरू करने के लिए नीचे .bat फ़ाइल का उपयोग करता हूं, फिर प्रोजेक्ट डायरेक्टर को इंगित करने के लिए सेट करता हूं OSGEO4W_ROOT\bin\python-qgis.bat, python3.exeउसी निर्देशिका में भी काम कर सकता है।

@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

इसके अलावा जॉनी के जवाब और TheGrudges की टिप्पणी:

यह अभी भी PyCharm 2019.2 में तय नहीं है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.