je travaille avec la console qgis python. Je stocke généralement tous mes scripts python dans ~ / Scripts / python J'ai défini le PYTHONPATH sur ~ / Scripts / python dans mon .bashrc Cependant, je ne parviens pas à importer mes sripts depuis la console dans QGIS.
Voici mon erreur lorsque j'essaie d'importer un script appelé Create_Figures_2D
import Create_Figures_2D
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/qgis/utils.py", line 309, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
ImportError: No module named Create_Figures_2D
Comment configurer le PYTHONPATH pour pygis?
~/Scripts/python
à PATH qui fonctionne normalement pour moi. Vérifiez avecimport os; os.path
Réponses:
Dans la console Python, exécutez ce qui suit:
Vérifiez si votre entrée PYTHONPATH est répertoriée. Je suppose que non, car cette variable d'environnement n'est probablement pas disponible pour Python exécutant QGIS.
Pour ajouter votre dossier de scripts au sys.path de la console, faites un ajout régulier ():
Vous devriez alors pouvoir importer vos modules à partir de là pour cette session de console. Je recommande d'étendre le ~ au chemin de retour complet de votre utilisateur (je ne sais pas si Python fait ~ l'expansion).
EDIT : ~ l'expansion ne semble pas être prise en charge par sys.path (sur Mac, au moins).
La console Python de QGIS est créée par un module Python, 'console.py'. Donc, si vous souhaitez ajouter votre chemin personnalisé à son sys.path de manière plus permanente, modifiez le fichier console.py et ajoutez l'instruction sys.path.append ('path / to / my / scripts') après le module section des importations.
console.py se trouve ici (pour Mac, en utilisant le package KyngChaos.com QGIS ):
Bien sûr, il s'agit d'un hack qui sera effacé et devra être refait lors d'une mise à jour de QGIS.app.
Tout ajustement du sys.path de l'interpréteur QGIS Python en cours d'exécution est également disponible pour d'autres plugins.
Une alternative plus sûre pourrait être de créer un plugin PyQGIS de développement simple qui charge et fait simplement sys.path.append (), quand vous le souhaitez. Il pourrait également supprimer ce chemin de sys.path lors du déchargement du plugin (). Je n'ai pas testé si l'ajustement sys.path d'un tel plugin serait disponible dans une console déjà chargée (je suppose que ce le serait.)
la source