Stworzyłem mały (i stosunkowo popularny) moduł, który uruchamia się i poluje na ArcGIS na twoim komputerze. Po znalezieniu dodaje poprawne ścieżki do środowiska, dzięki czemu można importować Arcpy. Wykorzystanie wygląda następująco:
try:
import archook #The module which locates arcgis
archook.get_arcpy()
import arcpy
except ImportError:
# do whatever you do if arcpy isnt there.
Moduł znajduje się na github tutaj:
https://github.com/JamesRamm/archook
Jest to bardzo proste i jestem pewien, że można go wzmocnić, ale spełnia swoje zadanie. Jest dostępny na pypi:pip install archook
Ma kilka zalet w porównaniu z bardziej „ręczną” oryginalną metodą (opisaną poniżej):
- Nie musisz konfigurować każdego środowiska Pythona osobno ... wystarczy zaimportować moduł i gotowe
- Nie edytuje / nie tworzy kluczy rejestru ani stałych zmiennych środowiskowych, więc nie ma szans na popsucie żadnej istniejącej konfiguracji python / arcgis.
- Nie musisz nic wiedzieć o ścieżkach do różnych folderów / plików ani nawet o tym, jaką wersję Arcgis zainstalowałeś. Moduł znajdzie to wszystko dla Ciebie.
- Nie wymaga uwierzytelnienia administratora
- Nie jest to specyficzne dla anakondy - będzie działać z każdą instalacją Pythona
Oryginalną odpowiedź zostawiłem poniżej, ale to rozwiązanie jest (IMO) o 100% lepsze.
Odpowiedź z 2014 r
Ok, więc ta odpowiedź działa dla 64-bitowej dystrybucji Python Anaconda z ArcGIS 10.1 64-bitowym na Windows 7 / Windows Server. Niektóre (lub wszystkie) z podanych poniżej wskazówek mogą dotyczyć każdej innej dystrybucji Pythona w systemie Windows. Najpierw zainstaluj anakondę, powinna ona przejść do katalogu C: \ Anaconda. Zaznacz pole „Ustaw system jako domyślny python”. Może to dać ostrzeżenie, że jest zainstalowany inny python, ale kontynuuj. Następnie:
Ścieżki konfiguracji i zmienne środowiskowe
Pierwszą rzeczą do zrobienia jest skopiowanie pliku DTBGGP64.pth do nowego katalogu dystrybucyjnego ( C: \ Anaconda ) z C: \ Python27 \ ArcGISx6410.1 \ Lib \ site-packages . Nazewnictwo jest dowolne, ale musi mieć rozszerzenie .pth. Pozwoli to zaimportować ArcPy podczas korzystania z nowej dystrybucji.
Uwaga: Prawidłowa lokalizacja pliku DTBGGP64.pth powinna znajdować się w katalogu site-packages (np. C: \ Anaconda \ Libs \ site-packages ). Zauważyłem, że w niektórych starszych wersjach Anacondy działa, jeśli znajduje się w katalogu najwyższego poziomu.
Następnie należy sprawdzić zmienne środowiskowe: w zmiennej systemowej Ścieżka, istniejąca ścieżka do katalogu python powinna zostać zastąpiona nową ścieżką. (np. C: \ Anaconda; C: \ Anaconda \ Scripts; ) To powie Windowsowi, gdzie jest domyślny katalog Pythona. Upewnij się, że zmienna użytkownika PYTHONPATH jest również poprawna. Powinno to wskazywać na biblioteki, których chcesz używać, które nie są opisane w plikach .pth lub są zainstalowane w pakietach witryn . IE może to być twoje własne pakiety programistyczne lub pakiety takie jak mapnik, które mają inne miejsce instalacji.
Sprawdź ustawienia rejestru
Na niektórych komputerach powyższe może być wystarczające, aby zapewnić możliwość korzystania z Arcpy z nowego Pythona i że Pythona można używać w ArcGIS. Na innych komputerach może być konieczne sprawdzenie kluczy rejestru. Następujące klucze rejestru mają ustawienia języka Python:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath
Powinien istnieć jeden klucz, a jego wartość powinna wynosić C: \ Anaconda \ Lib; C: \ Anaconda \ DLLs
(lub odpowiednie foldery do instalacji Pythona)
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath
Kluczem powinno być C: \ Anaconda
Możliwe, że masz zainstalowane inne wersje Pythona ... w takim przypadku zmień numer wersji w powyższych ścieżkach
HKEY_CLASSES_ROOT \ Python.CompiledFile \ DefaultIcon
Jest to lokalizacja pliku .ico, który ma być używany dla plików .pyc
HKEY_CLASSES_ROOT \ Python.CompiledFile \ shell \ open \ command
To polecenie, które należy wydać podczas otwierania pliku .pyc z powłoki. Powinieneś zmienić python.exe
ścieżkę do lokalizacji żądanej wersji Pythona
HKEY_CLASSES_ROOT \ Python.File
Klucze tutaj są takie same jak klucze dla Python.CompiledFile, tyle że dotyczą one pliku .py. Ponownie wprowadź odpowiednie zmiany. Może mieć dodatkowy klucz „Edycja z IDLE” lub „Edycja z Pythonwin”. Ponownie wprowadź odpowiednie zmiany, aby ścieżki w tych kluczach wskazywały żądaną wersję języka Python.
HKEY_CLASSES_ROOT \ Python.NoConFile
Są one takie same jak w przypadku Python.File, ale powinny wskazywać pythonw.exe
program w stosownych przypadkach.
HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ Python10.1 PythonDir punkty klucz do instalacji Pythona do stosowania w ArcMap itp .. Można życzyć tego, aby pozostać w instalacji Pythona jako zainstalowane przez ESRI, lub skierować go do nowej instalacji. Może to wymagać innych zmian, jeśli wskażesz ArcMap na nową instalację Pythona. Nie mogą być problemy z wersjami pakietów (np NumPy) zainstalowanych przez nową dystrybucję. Nie spotkałem żadnego.
W przypadku większości moich prac nie ma to znaczenia, ponieważ zazwyczaj chcę używać Pythona samodzielnie, a czasami mam dostęp do arcpy. Rzadko chcę używać Pythona z poziomu arcmap. Dlatego niewiele testowałem tego ostatniego kroku, ale wydaje się, że działa ono na wszystko, co do tej pory próbowałem.
Wyobrażam sobie, że proces ten byłby podobny do instalacji Pythona (x, y) itp.
Inne notatki
Zawartość pliku .pth to lista ścieżek wskazujących następujące foldery w instalacji ArcGIS: bin64, arcpy, ArcToolbox \ Scripts Na przykład mój plik .pth zawiera następujące elementy:
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
Moim rozwiązaniem jest skonfigurowanie skryptu uruchamiania, który ustawia ścieżkę na podstawie używanego środowiska python. Ta metoda ma tę (ogromną) zaletę, że nie potrzebujesz dostępu administratora do zapisu plików pth w instalacjach Pythona. Ten skrypt jest skonfigurowany do używania zarówno 32-bitowej, jak i 64-bitowej wersji Anaconda i ArcGIS / arcpy.
źródło
W przypadku, gdy ktoś próbuje to zrobić za pomocą ArcGIS Pro (tj. Z python 3 zamiast python 2):
Używam spydera w pakiecie anakondy. Sposób, w jaki do tego doszedłem, to przejście do Narzędzia> Python Interpreter w Spyder, a następnie wskazanie Spyderowi na plik propy.bat znajdujący się obecnie w C: \ Program Files \ ArcGIS \ Pro \ bin \ Python \ Scripts \ propy.bat.
Aktywuje to poprawną wersję Pythona w Spyder i umożliwia importowanie Arcpy.
źródło
Używam następującego kodu, aby skonfigurować osobne środowisko wirtualne , zawierające archpy i jego zależności:
źródło