Configurer PyCharm pour qu'il fonctionne avec les bibliothèques QGIS

Aug 15 2020

J'ai suivi divers articles et tutoriels, y compris les articles d' Anita Graser, Anita Graser ethttps://gis.stackexchange.com/questions/302774/ lorsque j'essaye de configurer mon installation PyCharm pour accéder et travailler avec les bibliothèques QGIS dans mon installation OSGeo4W64 QGIS 3.14

J'ai créé les fichiers pygis.cmd et pycharm.cmd qui sont requis et ils semblent faire ce qu'ils devraient. Mon pycharm.cmd lance avec succès 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" 

Cependant, malgré le suivi https://gis.stackexchange.com/questions/302774/ Je continue à recevoir ce message d'erreur

Je suis sûr que j'ai défini correctement mon chemin de plug-in Qt, dont l'article 302774 conseille d'inclure:

set QT_PLUGIN_PATH=%OSGEO4W_ROOT%\apps\qgis\qtplugins;%OSGEO4W_ROOT%\apps\qt5\plugins  

dans le fichier pycharm.cmd

Quelqu'un peut-il donner des conseils sur les points où je peux me tromper? J'espère que «Ben W», entre autres, pourra voir cette question car ses conseils ont aidé d'autres personnes dans le post 302774, mais cela ne fonctionne pas pour moi en 2020. Alors peut-être qu'il y a d'autres anomalies dans la configuration maintenant requises pour les versions ultérieures de QGIS?

Réponses

1 BenW Aug 16 2020 at 16:49

Le chemin de votre plugin Qt semble correct. Vous trouverez ci-dessous le fichier de commandes que j'utilise actuellement. J'ai testé cela avec un QGIS 3.14.15 nouvellement installé (installation OSGeo4W) et je n'obtiens aucune erreur. Vous pouvez l'essayer et voir si cela fonctionne pour vous.

* Remarque: j'utilise PyScripter plutôt que PyCharm depuis un certain temps maintenant, mais cela ne devrait vraiment pas faire de différence. Modifiez simplement la dernière ligne pour démarrer PyCharm à la place.

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

En démarrant PyScripter avec ce fichier de commandes, je peux exécuter ce qui suit sans erreur.

Pour tester les bibliothèques QGIS:

from qgis.core import *
QgsApplication.setPrefixPath("C:/OSGeo4W/apps/qgis", True)
qgs = QgsApplication([], False)
qgs.initQgis()
qgs.exitQgis()

Et pour tester 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()