J'essaie d'écrire un script python autonome dans Windows 7 qui utilise qgis.core et diverses autres bibliothèques qgis.
J'ai trouvé une vieille question à ce sujet ici: Écrire des scripts Python autonomes en utilisant PyQGIS? et suivait ses conseils, en utilisant le guide ici: http://docs.qgis.org/testing/en/docs/pyqgis_developer_cookbook/intro.html#python-applications
Le code suggéré est:
set PYTHONPATH=c:\qgispath\python
suivi par:
set PATH=C:\qgispath;%PATH%
J'ai trouvé que IDLE n'aimait pas le "set au début, donc mon code ressemble à ceci:
PYTHONPATH="C:\OSGeo4W64\apps\qgis\python"
PATH="C:\OSGeo4W64\apps\qgis\python\qgis\core;%PATH%"
import qgis.core
et je reçois:
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
import qgis.core
ImportError: No module named qgis.core
J'ai essayé toutes les variantes des chemins auxquels je peux penser, y compris la suppression du;% PATH% "à la fin (cela semble un peu superflu) mais je n'ai pas pu trouver plus d'informations. Est-ce que quelqu'un a des idées où je pourrais être va mal?
ÉDITER:
Après avoir vu le commentaire de Luigi Pirelli, j'ai maintenant essayé:
>>> PYTHONPATH="C:/OSGEO4~1/apps/qgis/./python\qgis"
>>> import qgis.core
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
import qgis.core
ImportError: No module named qgis.core
>>> PATH="C:\OSGeo4W64\apps\qgis\python\qgis\core;%PATH%"
>>> import qgis.core
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
import qgis.core
ImportError: No module named qgis.core
>>> PATH="C:/OSGEO4~1/apps/qgis/./python\qgis\core;%PATH%"
>>> import qgis.core
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
import qgis.core
ImportError: No module named qgis.core
>>>
Réponses:
Si vous avez installé QGIS via OSGeo4W, je vous suggère de suivre ce flux de travail (je viens de le tester sur Windows 7):
Ouvrez le shell OSGeo4W .
Start->All programs->OSGeo4W->OSGeo4W Shell
.Définissez les variables d'environnement . Ma façon préférée est d'exécuter ce fichier bat (mis à jour 2016.11.03: ce fichier bat ) à partir du shell OSGeo4W. Comme vous pouvez le voir, le fichier définit les variables d'environnement de cette manière:
Bien sûr, vous devez vérifier par vous-même que ces chemins existent dans votre système d'exploitation et les ajuster si nécessaire.
Alors, téléchargez le fichier .bat et exécutez-le en y accédant à partir du shell OSGeo4W et en appuyant sur ENTRÉE.
Importez des bibliothèques PyQGIS par l'une des méthodes suivantes:
une. Entrez l'interpréteur Python. Exécutez
python
dans le shell OSGeo4W et importez les bibliothèques manuellement.b. Exécutez un script Python. Exécutez
python my_pyqgis_script.py
dans le shell OSGeo4W. Je commencerais par un très simple .Le flux de travail a été publié (en espagnol) il y a plusieurs années dans GeoTux et fonctionne toujours. Comme vous pouvez le voir, je n'inclus pas de variables d'environnement dans le script Python, mais je les place dans le shell OSGeo4W.
la source
C:\dllo
) et exécutez le fichier .bat en écrivant le nom du fichier et en appuyant sur Entrée.Je viens de me battre avec un problème similaire et j'ai remarqué un fichier de commandes dans le dossier OSGeo4W \ bin appelé python-qgis.bat . Cela fait partie d'une installation basée sur le package OSGeo4W de QGIS 2.18.15 x64 sur Windows 10.
Une fois exécuté, ce fichier de commandes ouvre l'interpréteur Python.
import qgis
s'exécute avec succès de l'intérieur.Ce fichier batch contient la ligne (comme l'a noté Germán Carrillo dans sa réponse originale):
set PYTHONPATH=%OSGEO4W_ROOT%\apps\qgis\python;%PYTHONPATH%
juste avant le lancement de l'interpréteur python.
la source