Liez QGIS à Anaconda Python Distribution: Spyder, iPython Notebook, pip, scikit-learn

20

J'ai Anaconda comme distribution principale de Python et je souhaite acheminer des scripts QGIS liés à Python à travers. Avec Anaconda, j'ai Spyder, je peux facilement installer des packages avec pip et lancer un navigateur Web pour ordinateur portable iPython pour les partages d'écran et le stockage du code que j'ai l'intention d'exécuter sur mes données avant, pendant et après les manipulations dans QGIS (qui fait appel à comme scikit-learn).

Je ne trouve aucun élément utile sur la façon de lier les deux.

J'utilise Windows 8.1, mais si cela ne peut être fait que sous Linux, je peux essayer de le configurer sur mon bureau, qui exécute Mint 13. J'ai juste besoin d'une webcam et d'un micro, trouvés sur mon ordinateur portable mais pas bureau pour le moment, pour une démo interactive et une interview le mardi.

user40318
la source
2
Sous Windows, si vous utilisez OSGeo4W pour votre programme d'installation, vous devez continuer à utiliser son installation Python, à laquelle QGIS est lié pour créer son instance d'interpréteur Python interne. Vous pouvez utiliser d'autres distributions Python, mais vous devrez compiler QGIS à partir de la source vous-même, ce qui signifie également que toutes les dépendances, comme les modules compilés en Python C (QScintilla, etc.), doivent également être construites en fonction de cette installation Python. En d'autres termes, il peut être difficile de construire à partir de la source en utilisant OSGeo4W pour les dépendances, tout en utilisant un Python différent de celui d'OSGeo4W.
dakcarto
que voulez-vous dire par "comment lier les deux"? l'échange de données avec QGIS ne nécessite pas une intégration étroite de python. Il serait utile d'avoir QGIS dans anaconda env, mais ce n'est pas du tout simple de définir toutes les dépendances anaconda python dans OSGeo4W env.
Luigi Pirelli
Il s'agit d'une question très pertinente pour QGIS sous Windows. La distribution Python incluse avec OSGeo4W a de nombreux modules obsolètes (par exemple numpy, scipy) et il existe un certain nombre de modules qui nécessitent une compilation et / ou une liaison (netCDF4, rasterio) qui pipne peuvent pas - mais le condapeuvent. Anaconda a des recettes pour la construction gdalet bien d'autres choses, donc je me demande combien de dépendances QGIS ne peuvent pas être fournies par Anaconda?
j08lue
Sous Linux, faire de votre Anaconda Python le Python par défaut pourrait aider ( export PATH="/path/to/anaconda/bin:$PATH")? Ou est-il /usr/bin/pythoncodé en dur dans QGIS?
j08lue

Réponses:

3

Sous Windows, votre meilleure option est actuellement d'utiliser la distribution Python qui peut être installée via OSGeo4W et également pipvia le programme d'installation OSGeo4W.

Bien qu'il pipne soit pas possible d'installer de nombreux packages nécessitant une liaison avec des bibliothèques externes (par exemple, netCDF ou GEOS) directement à partir de l'index de package, une solution de contournement consiste à installer ces fichiers binaires précompilés non officiels à partir de http://www.lfd.uci.edu/~gohlke/ pythonlibs / et installez-les dans le shell OSGeo4W via pip install path-to-downloaded-binary.whl.

[Edit 2018] Il y a maintenant la possibilité d'installer QGIS via (Ana) conda:

conda install -c conda-forge qgis
j08lue
la source
2

Cela peut être fait avec des environnements conda. Vous devez créer un environnement avec une version python correspondante à celle installée par qgis (vous devez vous assurer que votre installation anaconda et qgis sont la même architecture). Ensuite, vous devez ajouter les chemins d'accès appropriés à votre chemin d'accès au système d'environnement et à votre chemin d'accès python. Il existe différents chemins qgis précède le chemin du système au démarrage et vous pouvez tous les voir à travers le menu d'options qgis iirc. Pour ajouter des chemins à un environnement conda, regardez ici http://conda.pydata.org/docs/using/envs.html#windows . Lorsque vous activez l'environnement, tous les chemins pertinents seront ajoutés et vous devriez pouvoir importer des bibliothèques qgis.

Cela ne vous permettra pas d'utiliser anaconda via qgis, mais cela vous permettra d'utiliser vos scripts qgis, etc. via anaconda

James
la source