Ho creato un modulo piccolo (e relativamente popolare) che si spegne e cerca ArcGIS sul tuo PC. Una volta trovato, aggiunge i percorsi corretti all'ambiente in modo da poter importare arcpy. L'utilizzo è il seguente:
try:
import archook #The module which locates arcgis
archook.get_arcpy()
import arcpy
except ImportError:
# do whatever you do if arcpy isnt there.
Il modulo è ospitato su github qui:
https://github.com/JamesRamm/archook
È molto semplice e sono sicuro che può essere reso più robusto, ma fa il lavoro. È disponibile su Pypi:pip install archook
Presenta alcuni vantaggi rispetto al metodo originale più "manuale" (dettagliato di seguito):
- Non è necessario configurare ciascun ambiente Python separatamente ... basta importare il modulo e il gioco è fatto
- Non modifica / crea chiavi di registro o variabili di ambiente permanenti, quindi non c'è alcuna possibilità di rovinare qualsiasi configurazione esistente di python / arcgis.
- Non è necessario conoscere alcunché sui percorsi di varie cartelle / file o anche sulla versione di arcgis installata. Il modulo troverà tutto per te.
- Non è necessaria l'autenticazione dell'amministratore
- Non è specifico con anaconda: funzionerà con qualsiasi installazione di Python
Di seguito ho lasciato la risposta originale, ma questa soluzione è (IMO) migliore del 100%.
Risposta 2014
Ok, quindi questa risposta funziona per la distribuzione Anaconda 64 bit Python con ArcGIS 10.1 64 bit su Windows 7 / Windows Server. Alcuni (o tutti) dei suggerimenti riportati di seguito potrebbero applicarsi a qualsiasi altra distribuzione di Python di Windows. Innanzitutto, installa anaconda, dovrebbe andare nella directory C: \ Anaconda. Seleziona la casella "Rendi Python predefinito di sistema". Potrebbe avvertire che è installato un altro python, ma continua. Poi:
Percorsi di installazione e variabili di ambiente
La prima cosa da fare è copiare il file DTBGGP64.pth nella nuova directory di distribuzione ( C: \ Anaconda ) da C: \ Python27 \ ArcGISx6410.1 \ Lib \ site-pacchetti . Il nome è arbritrario, ma deve avere l' estensione .pth Questo ti permetterà di importare ArcPy quando usi la nuova distribuzione.
Nota: la posizione corretta del file DTBGGP64.pth dovrebbe trovarsi nella directory dei pacchetti del sito (ad es. C: \ Anaconda \ Libs \ site-pacchetti ). Ho scoperto che con alcune versioni precedenti di Anaconda, funziona se si trova nella directory di livello superiore
Successivamente, è necessario controllare le variabili di ambiente: Nella variabile di sistema Percorso, il percorso esistente nella directory python deve essere sostituito con il nuovo percorso. (es. C: \ Anaconda; C: \ Anaconda \ Scripts; ) Questo dirà a windows dove si trova la directory python predefinita. Assicurarsi che anche la variabile utente PYTHONPATH sia corretta. Questo dovrebbe puntare a tutte le librerie che si desidera utilizzare che non sono descritte dai file .pth o che sono installate nei pacchetti del sito . Vale a dire che questo potrebbe essere il tuo pacchetto di sviluppo, o pacchetti come mapnik che hanno una posizione di installazione diversa.
Controlla le impostazioni del registro
Su alcune macchine, quanto sopra può essere sufficiente per garantire che tu possa usare arcpy dal nuovo python e che python possa essere usato in ArcGIS. Su altri computer, potrebbe essere necessario controllare le chiavi di registro. Le seguenti chiavi di registro hanno le impostazioni di Python:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath
Dovrebbe esserci una chiave e il suo 'valore dovrebbe essere C: \ Anaconda \ Lib; C: \ Anaconda \ DLLs
(O le cartelle corrispondenti per l'installazione di Python)
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath
La chiave dovrebbe essere C: \ Anaconda
Potresti avere altre versioni di Python installate ... nel qual caso modifica il numero di versione nei percorsi precedenti
HKEY_CLASSES_ROOT \ Python.CompiledFile \ DefaultIcon
Questa è la posizione del file .ico da utilizzare per i file .pyc
HKEY_CLASSES_ROOT \ Python.CompiledFile \ shell \ open \ command
Questo è il comando da emettere quando si apre un file .pyc dalla shell. È necessario modificare il python.exe
percorso nella posizione della versione di Python desiderata
HKEY_CLASSES_ROOT \ Python.File
Le chiavi qui sono le stesse di quelle per Python.CompiledFile tranne che si applicano a un file .py. Ancora una volta, apporta le modifiche pertinenti. Potrebbe avere una chiave aggiuntiva per "Modifica con IDLE" o "Modifica con Pythonwin". Ancora una volta, apporta le modifiche pertinenti in modo che i percorsi in queste chiavi puntino alla versione di Python desiderata.
HKEY_CLASSES_ROOT \ Python.NoConFile
Questi sono gli stessi di Python.File, ma dovrebbero puntare al pythonw.exe
programma dove appropriato.
HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ Python10.1
La chiave PythonDir punta all'installazione di Python da utilizzare in ArcMap ecc. È possibile che rimanga come l'installazione di Python installata da ESRI, oppure puntarla alla nuova installazione. Si può richiedere altri cambiamenti se si punta ArcMap alla nuova installazione di pitone. Ci possono essere problemi con le versioni dei pacchetti (per esempio NumPy) installati dalla nuova distribuzione. Non ne ho incontrato nessuno.
Per la maggior parte del mio lavoro, questo è irrilevante poiché in genere voglio usare Python da solo e occasionalmente ho accesso ad Arcpy. Raramente vorrei usare Python da Arcmap..Pertanto ho fatto pochi test su questo passaggio finale, ma sembra funzionare per tutto ciò che ho provato finora.
Immagino che il processo sarebbe simile per l'installazione di Python (x, y) ecc.
Altre note
Il contenuto del file .pth è un elenco di percorsi che puntano alle seguenti cartelle nell'installazione di ArcGIS: bin64, arcpy, ArcToolbox \ Scripts Ad esempio, il mio file .pth contiene quanto segue:
C:\Program Files (x86)\ArcGIS\Desktop10.2\bin64
C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy
C:\Program Files (x86)\ArcGIS\Desktop10.2\ArcToolbox\Scripts