Konfigurowanie PyCharm do pracy z bibliotekami QGIS
Śledziłem różne posty i samouczki, w tym posty Anity Graser Anita Graser ihttps://gis.stackexchange.com/questions/302774/ gdy próbuję skonfigurować moją instalację PyCharm, aby uzyskać dostęp i pracować z bibliotekami QGIS w mojej instalacji OSGeo4W64 QGIS 3.14
Utworzyłem pliki pygis.cmd i pycharm.cmd, które są wymagane i wydają się robić to, co powinny. Mój pycharm.cmd pomyślnie uruchamia 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
call "%OSGEO4W_ROOT%"\apps\grass\grass78\etc\env.bat
@echo off
rem path %PATH%;%OSGEO4W_ROOT%\apps\qgis
path %PATH%;%OSGEO4W_ROOT%\apps\qgis\bin
path %PATH%;%OSGEO4W_ROOT%\apps\grass\grass78\lib
path %PATH%;C:\OSGeo4W64\apps\Qt5\bin
rem path %PATH%;C:\OSGeo4W64\apps\qgis\python\plugins
path %PATH%;C:\OSGeo4W64\apps\Python37\Scripts
rem path %PATH%;C:\OSGeo4W\apps\Python37
set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\qgis\python
set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python37
set PATH=C:\Program Files\Git\bin;%PATH%
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis\qtplugins;%OSGEO4W_ROOT%\apps\Qt5\plugins
start "PyCharm aware of QGIS" /B "C:\Users\b8060507\AppData\Local\JetBrains\PyCharm Community Edition 2019.3.3\bin\pycharm64.exe"
Jednak pomimo podążania https://gis.stackexchange.com/questions/302774/ Nadal pojawia się ten komunikat o błędzie

Jestem pewien, że ustawiłem ścieżkę wtyczki Qt. Poprawnie, który post 302774 radzi uwzględnić:
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins
w pliku pycharm.cmd
Czy ktoś może doradzić, gdzie mogę się pomylić? Mam nadzieję, że „Ben W” między innymi może zobaczyć to pytanie, ponieważ jego rada pomogła innym w poście 302774, ale nie działa ona dla mnie w 2020 r. Więc może są inne anomalie w konfiguracji teraz wymagane dla późniejszych wersji QGIS?
Odpowiedzi
Twoja ścieżka wtyczki Qt wygląda dobrze. Poniżej znajduje się plik wsadowy, którego obecnie używam. Przetestowałem to z nowo zainstalowanym QGIS 3.14.15 (instalacja OSGeo4W) i nie otrzymuję żadnych błędów. Możesz spróbować i sprawdzić, czy to działa dla Ciebie.
* Uwaga: od jakiegoś czasu używam PyScripter zamiast PyCharm, ale to naprawdę nie powinno robić żadnej różnicy. Po prostu zmień ostatnią linię, aby zamiast tego uruchomić 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
@echo off
path %PATH%;%OSGEO4W_ROOT%\apps\qgis\bin
path %PATH%;C:\OSGeo4W64\apps\Qt5\bin
set QGIS_PREFIX_PATH=%OSGEO4W_ROOT:\=/%/apps/qgis
set GDAL_FILENAME_IS_UTF8=YES
rem Set VSI cache to be used as buffer, see #6448
set VSI_CACHE=TRUE
set VSI_CACHE_SIZE=1000000
set PYTHONPATH=%PYTHONPATH%;%OSGEO4W_ROOT%\apps\qgis\python
set PYTHONHOME=%OSGEO4W_ROOT%\apps\Python37
set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins
start "PyScripter aware of QGIS" /B "C:\Program Files\PyScripter\PyScripter.exe"
Zaczynając PyScripter z tym plikiem wsadowym, mogę uruchomić następujące bez błędów.
Aby przetestować biblioteki QGIS:
from qgis.core import *
QgsApplication.setPrefixPath("C:/OSGeo4W/apps/qgis", True)
qgs = QgsApplication([], False)
qgs.initQgis()
qgs.exitQgis()
Aby przetestować PyQt:
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
class MyDialog(QMainWindow):
def __init__(self):
QMainWindow.__init__(self)
self.setGeometry(250, 250, 500, 350)
def main():
app = QApplication(sys.argv)
w = MyDialog()
w.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()