Collega QGIS alla distribuzione Anaconda Python: Spyder, iPython Notebook, pip, scikit-learn


20

Ho Anaconda come mia principale distribuzione Python e voglio instradare gli script QGIS relativi a Python. Con Anaconda, ho Spyder, posso installare facilmente pacchetti con pip e posso avviare un browser web per Notebook iPython sia per le condivisioni dello schermo che per l'archiviazione del codice che intendo eseguire sui miei dati prima, durante e dopo le manipolazioni in QGIS (che chiama pacchetti come scikit-learn).

Non riesco a trovare utile da nessuna parte su come collegare i due.

Sto usando Windows 8.1, ma se questo può essere fatto solo in Linux, posso provare a configurarlo sul mio desktop, che esegue Mint 13. Ho solo bisogno di avere una webcam e un microfono, trovati sul mio laptop ma non desktop al momento, per una demo interattiva e un'intervista a martedì.


2
Su Windows, se stai utilizzando OSGeo4W per il tuo programma di installazione, devi continuare a utilizzare la sua installazione Python, che è ciò a cui QGIS si collega per creare la sua istanza interna dell'interprete Python. Puoi usare altre distro di Python, ma dovresti compilare QGIS dal sorgente tu stesso, il che significa anche che qualsiasi dipendenza, come i moduli compilati in Python C (QScintilla, ecc.), Deve essere costruita anche su quell'installazione di Python. In altre parole, potrebbe essere difficile costruire dal sorgente usando OSGeo4W per le dipendenze, usando anche un Python diverso da quello di OSGeo4W.
dakcarto,

cosa intendi per "come collegare i due"? lo scambio di dati con QGIS non richiede una stretta integrazione con Python. Sarebbe utile avere QGIS in anaconda env, ma non è affatto semplice impostare tutte le dipendenze di anaconda python all'interno di OSGeo4W env.
Luigi Pirelli,

Questa è una domanda molto rilevante per QGIS su Windows. La distribuzione Python inclusa in OSGeo4W ha molti moduli obsoleti (ad esempio numpy, scipy) e ci sono un certo numero di moduli che richiedono compilazione e / o collegamento (netCDF4, rasterio) che pipnon possono fare - ma condapossono. Anaconda ha ricette per la costruzione gdale molte altre cose, quindi mi chiedo quante dipendenze QGIS non possano essere fornite da Anaconda?
j08lue,

Su Linux, rendere Anaconda Python Python predefinito potrebbe aiutare ( export PATH="/path/to/anaconda/bin:$PATH")? O è /usr/bin/pythoncodificato in QGIS?
j08lue,

Risposte:


3

Su Windows, attualmente l'opzione migliore è utilizzare la distribuzione Python che può essere installata tramite OSGeo4W e anche piptramite il programma di installazione OSGeo4W.

Sebbene pipnon sia possibile installare molti pacchetti che richiedono il collegamento a librerie esterne (ad esempio netCDF o GEOS) direttamente dall'indice del pacchetto, una soluzione alternativa consiste nell'installare questi binari precompilati non ufficiali da http://www.lfd.uci.edu/~gohlke/ pythonlibs / e installarli nella shell OSGeo4W attraverso pip install path-to-downloaded-binary.whl.

[Modifica 2018] Ora c'è anche la possibilità di installare QGIS tramite (Ana) conda:

conda install -c conda-forge qgis

2

Questo può essere fatto con ambienti conda. Dovresti creare un ambiente con una versione di Python corrispondente a quella di qgis install (devi assicurarti che sia la tua installazione di anaconda che quella di qgis abbiano la stessa architettura). Quindi è necessario aggiungere i percorsi pertinenti al percorso del sistema dell'ambiente e al percorso Python. Esistono vari percorsi che qgis antepone al percorso di sistema all'avvio e puoi visualizzarli tutti attraverso il menu delle opzioni di qgis iirc. Per aggiungere percorsi a un ambiente conda, guarda qui http://conda.pydata.org/docs/using/envs.html#windows . Quando attivi l'ambiente verranno aggiunti tutti i percorsi rilevanti e dovresti essere in grado di importare libs qgis.

Questo non ti permetterà di usare anaconda attraverso qgis, ma ti permetterà di usare i tuoi script qgis ecc. Attraverso anaconda

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.