J'ai créé un petit module (et relativement populaire) qui s'éteint et chasse ArcGIS sur votre PC. Une fois trouvé, il ajoute les chemins d'accès corrects à l'environnement afin que vous puissiez importer arcpy. L'utilisation va comme ceci:
try:
import archook #The module which locates arcgis
archook.get_arcpy()
import arcpy
except ImportError:
# do whatever you do if arcpy isnt there.
Le module est hébergé sur github ici:
https://github.com/JamesRamm/archook
C'est très simple et je suis sûr qu'il peut être rendu plus robuste, mais il fait le travail. Il est disponible sur pypi:pip install archook
Elle présente quelques avantages par rapport à la méthode originale plus «manuelle» (détaillée ci-dessous):
- Vous n'avez pas besoin de configurer chaque environnement python séparément ... importez simplement le module et c'est parti
- Il ne modifie / crée aucune clé de registre ou variable d'environnement permanente, il n'y a donc aucune chance de gâcher une configuration python / arcgis existante.
- Vous n'avez pas besoin de savoir quoi que ce soit sur les chemins d'accès aux différents dossiers / fichiers, ou même quelle version d'arcgis vous avez installée. Le module trouvera tout pour vous.
- Aucune authentification administrateur requise
- Ce n'est pas spécifique à anaconda - cela fonctionnera avec n'importe quelle installation python
J'ai laissé la réponse originale ci-dessous, mais cette solution est (IMO) 100% meilleure.
Réponse 2014
Ok, donc cette réponse fonctionne pour la distribution Python Anaconda 64 bits avec ArcGIS 10.1 64 bits sur Windows 7 / Windows Server. Certains (ou tous) des conseils donnés ci-dessous peuvent s'appliquer à toute autre distribution Windows de python. Tout d'abord, installez anaconda, il doit aller dans le répertoire C: \ Anaconda. Cochez la case «rendre le système par défaut python». Il peut vous avertir qu'un autre python est installé, mais continuez. Ensuite:
Chemins d'installation et variables d'environnement
La première chose à faire est de copier le fichier DTBGGP64.pth dans le nouveau répertoire de distribution ( C: \ Anaconda ) à partir de C: \ Python27 \ ArcGISx6410.1 \ Lib \ site-packages . La dénomination est arbitraire, mais doit avoir l' extension .pth. Cela vous permettra d'importer ArcPy lors de l'utilisation de la nouvelle distribution.
Remarque: l'emplacement correct du fichier DTBGGP64.pth doit se trouver dans le répertoire site-packages (par exemple C: \ Anaconda \ Libs \ site-packages ). J'ai constaté qu'avec certaines anciennes versions d'Anaconda, cela fonctionne si elles étaient placées dans le répertoire de niveau supérieur.
Ensuite, les variables d'environnement doivent être vérifiées: Dans la variable système Path, le chemin existant vers le répertoire python doit être remplacé par le nouveau chemin. (par exemple C: \ Anaconda; C: \ Anaconda \ Scripts; ) Cela indiquera à Windows où se trouve le répertoire python par défaut. Assurez-vous que la variable utilisateur PYTHONPATH est également correcte. Cela devrait pointer vers toutes les bibliothèques que vous souhaitez utiliser qui ne sont pas décrites par des fichiers .pth ou qui sont installées dans des packages de site . IE, il peut s'agir de vos propres packages de développement ou de packages tels que mapnik qui ont un emplacement d'installation différent.
Vérifier les paramètres du registre
Sur certaines machines, ce qui précède peut être suffisant pour garantir que vous pouvez utiliser arcpy à partir du nouveau python et que python peut être utilisé dans ArcGIS. Sur d'autres machines, vous devrez peut-être vérifier les clés de registre. Les clés de registre suivantes ont des paramètres python:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath
Il doit y avoir une clé et sa valeur doit être C: \ Anaconda \ Lib; C: \ Anaconda \ DLL
(ou les dossiers correspondants pour votre installation python)
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath
La clé doit être C: \ Anaconda
Vous pouvez avoir d'autres versions de python installées ... auquel cas changez le numéro de version dans les chemins ci-dessus
HKEY_CLASSES_ROOT \ Python.CompiledFile \ DefaultIcon
Il s'agit de l'emplacement du fichier .ico à utiliser pour les fichiers .pyc
HKEY_CLASSES_ROOT \ Python.CompiledFile \ shell \ open \ command
Il s'agit de la commande à émettre lors de l'ouverture d'un fichier .pyc à partir du shell. Vous devez modifier le python.exe
chemin d'accès à l'emplacement de la version de votre python souhaitée
HKEY_CLASSES_ROOT \ Python.File
Les clés ici sont les mêmes que celles de Python.CompiledFile sauf qu'elles s'appliquent à un fichier .py. Encore une fois, apportez les modifications pertinentes. Il peut avoir une clé supplémentaire pour 'Edit with IDLE' ou 'Edit with Pythonwin'. Encore une fois, apportez les modifications appropriées afin que les chemins d'accès dans ces clés pointent vers la version python souhaitée.
HKEY_CLASSES_ROOT \ Python.NoConFile
Ce sont les mêmes que pour Python.File, mais doivent pointer vers le pythonw.exe
programme le cas échéant.
HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ Python10.1
La clé PythonDir pointe vers l'installation python à utiliser dans ArcMap, etc. Cela peut nécessiter d'autres modifications si vous pointez ArcMap vers la nouvelle installation python. Il peut y avoir des problèmes avec les versions des packages (par exemple numpy) installés par la nouvelle distribution. Je n'en ai pas rencontré.
Pour la majorité de mon travail, cela n'est pas pertinent car je veux généralement utiliser python seul et avoir parfois accès à arcpy. Je souhaite rarement utiliser python depuis arcmap..Par conséquent, j'ai fait peu de tests de cette étape finale, mais cela semble fonctionner pour tout ce que j'ai essayé jusqu'à présent.
J'imagine que le processus serait similaire pour l'installation de Python (x, y) etc.
Autres notes
Le contenu du fichier .pth est une liste de chemins pointant vers les dossiers suivants dans votre installation ArcGIS: bin64, arcpy, ArcToolbox \ Scripts Par exemple, mon fichier .pth contient les éléments suivants:
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
Ma solution consiste à configurer un script de démarrage qui définit le chemin en fonction de l'environnement python que vous utilisez. Cette méthode a l'avantage (énorme) que vous n'avez pas besoin d'un accès administrateur pour écrire des fichiers .pth dans les installations python. Ce script est configuré pour utiliser Anaconda 32 bits et 64 bits et ArcGIS / arcpy.
la source
Dans le cas où quelqu'un essaie de le faire en utilisant ArcGIS Pro (c'est-à-dire avec python 3 au lieu de python 2):
J'utilise spyder dans le package anaconda. Pour que cela fonctionne, j'allais à Tools> Python Interpreter dans Spyder, puis je pointais Spyder vers le fichier propy.bat actuellement situé dans C: \ Program Files \ ArcGIS \ Pro \ bin \ Python \ Scripts \ propy.bat.
Cela active la bonne version de python dans Spyder et vous permet d'importer arcpy.
la source
J'utilise le code suivant pour configurer un environnement virtuel séparé , contenant arcpy et ses dépendances:
la source