J'ai essayé de transposer le processus QGIS 2 sans succès.
J'ai d'abord dû éditer C: \ Program Files \ QGIS 2.99 \ etc \ ini \ python-core.bat qui contient des références à Python27 au lieu de Python36.
J'exécute C: \ Program Files \ QGIS 2.99 \ bin \ o4w_env.bat pour configurer correctement l'environnement python QGIS, mais ensuite, lorsque je lance:
"C:\Program Files\QGIS 2.99\apps\Python36\Scripts\pyuic5.bat" -o dockwidget_base.py dockwidget_base.ui
Je reçois cette erreur:
Traceback (most recent call last):
File "C:\PROGRA~1\QGIS2~1.99\apps\Python36\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\PROGRA~1\QGIS2~1.99\apps\Python36\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\PROGRA~1\QGIS2~1.99\apps\Python36\lib\site-packages\PyQt5\uic\pyuic.py", line 26, in <module>
from PyQt5 import QtCore
ImportError: DLL load failed: Specified module could not be found.
De même, lorsque je lance:
"C:\Program Files\QGIS 2.99\apps\Python36\Scripts\pyrcc5.bat" -o resources_rc.py resources.qrc
Je reçois cette erreur:
Traceback (most recent call last):
File "C:\PROGRA~1\QGIS2~1.99\apps\Python36\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "C:\PROGRA~1\QGIS2~1.99\apps\Python36\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\PROGRA~1\QGIS2~1.99\apps\Python36\lib\site-packages\PyQt5\pyrcc_main.py", line 21, in <module>
from PyQt5.QtCore import PYQT_VERSION_STR, QDir, QFile
ImportError: DLL load failed: Specified module could not be found.
la source
call pyuic5 --import-from <package-name>.gui.generated
. Besoin de mettre le chemin de votre fichier de ressources et de recompiler.call pyuic5 dockwidget_base.ui --from-imports -o dockwidget_base.py
. Cela fonctionne parfaitement.Après avoir tout découvert sur les variables d'environnement et savoir ce que je cherchais, j'ai trouvé le fichier /osgeo4w_root/bin/python-qgis-dev.bat
Lorsqu'il est appelé depuis le shell osgeo4w actif, il définit tous les env. variables en appelant les fichiers .bat correspondants (comme suggéré par Francisco)!
la source