Jak uzyskać dostęp do modułów Esri ArcPy z Enthought Canopy?


10

Mam ArcGIS 10.1 działający w moim systemie Windows, a także zainstalowałem nową 32-bitową wersję Canopy Express Enthought Python Distribution.

Czy można załadować i używać modułów Esri ArcPy firmy Canopy?


skorzystałem z rozwiązania z pierwszej odpowiedzi i działałem idealnie, ale potrzebuję baldachimu x64, czy jest jakiś sposób na zaimportowanie tej biblioteki z baldachimem x64?
— Μανώλης Παναγιωτάκης

Odpowiedzi:


20

Istnieje prosty sposób, który nie wymaga bałagania się w systemie PATH lub PYTHONPATH.

Dystrybucje Enthought Python, w tym Canopy x32, są samodzielne i nie potrzebują niczego w rejestrze ani w zmiennych środowiskowych. Dzięki temu mogą grać z innymi dystrybucjami Pythona, takimi jak ta, która jest dostarczana z ArcGIS 10.1.

Aby uzyskać dostęp do modułów python ArcGIS 10.1 z Enthought Canopy : Utwórz plik „ścieżki” w katalogu użytkownika Canopy, który wskazuje moduły python ArcGIS 10.1. W moim systemie utworzyłem plik tekstowy o nazwie arcpy.pthz tymi 4 liniami:

# .pth file for arcpy
C:\ArcGIS\Desktop10.1\bin
C:\ArcGIS\Desktop10.1\arcpy
C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts

i umieść arcpy.pthw katalogu pakietów witryny użytkownika Canopy:

C:\Users\rsignell\AppData\Local\Enthought\Canopy32\User\lib\site-packages

Aby uzyskać dostęp do modułów Enthought Canopy z ArcGIS 10.1 : Utwórz plik „ścieżki” w folderze pakietów witryny Arc, który wskazuje moduły python Canopy. W moim systemie utworzyłem plik tekstowy epd.ptho następujących 3 liniach:

# .pth file for EPD Canopy
C:\Users\rsignell\AppData\Local\Enthought\Canopy32\User\Lib\site-packages
C:\Users\rsignell\AppData\Local\Enthought\Canopy32\System\Lib\site-packages

a następnie umieść epd.pthw folderze pakietu witryny Arc:

C:\Python27\ArcGIS10.1\Lib\site-packages

To wszystko, co musiałem zrobić!

-Bogaty

PS Działa to, ponieważ Enthought Canopy 1.0 i ArcGIS10.1 są w tej samej wersji Python (2.7) i Numpy (1.6.1). Mam nadzieję, że nadal będziemy mieć tę kompatybilność!

Aktualizacja: Właśnie wypróbowałem to w Canopy 1.0.3, która używa Numpy 1.7.1 i nadal działa, mimo że ArcGIS 10.1 jest w Numpy 1.6.1. Hurra! Yippee!


3
Kilka uwag: 1. Upewnij się, że zainstalowałeś EPD / Canopy x32 do użytku z ArCGIS Desktop. 2. Pliki pth są ładowane w kolejności alfabetycznej, więc aby uniknąć konfliktów, nadałem im nazwy: „zzArcGIS.pth” (folder pakietów stron Canopy) i „zzEPD.pth” (folder pakietów stron ArcGIS). 3. Jeśli korzystasz z ArcGIS Desktop x64 Background GP lub ArcGIS Server (który używa Python x64), musisz zainstalować 64-bitowy plik EPD / Canopy i dodać pliki .pth wskazujące na 64-bitowe foldery pakietów stron EPD i ArcGIS Python .
— Curtis Cena

3

Tak to jest. Oto fragment wewnętrznego przewodnika instalacji, który został właśnie użyty do zrobienia tego samego na moim komputerze (upewnij się, że dotyczą one twojego konkretnego komputera):


Skonfiguruj środowisko dla EPD

  1. Dodaj nową ŚCIEŻKĘ do zmiennych użytkownika (wstaw epd do ŚCIEŻKI):

    (edytuj poniższe ścieżki zgodnie z używaną wersją EPD lub ArcGIS) PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%

  2. Jeśli ArcGIS jest zainstalowany, ustaw zmienną środowiskową PYTHONPATH, aby
    ArcGIS mógł importować moduły EPD, a EPD może importować ArcPy:

    PYTHONPATH= C:\Python27_epd32\lib\site-packages; C:\ArcGIS\Desktop10.1\bin; C:\ArcGIS\Desktop10.1\arcpy; C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts

Jeśli wystąpią problemy z konfliktem ArcGIS z EPD, możesz łatwo usunąć EPD ze środowiska ArcGIS, usuwając odniesienia do EPD w PYTHONPATH.


Zrzeczenie się! Chociaż poniższe kroki działały w przeszłości dla mnie, nie jestem osobą znającą się na systemie DOS i czułbym się lepiej, gdybyś skonsultował się z kimś z działu IT, aby upewnić się, że nie udzielam złych porad. Powiedziawszy to, czytaj dalej ...

Dodawanie ścieżek do zmiennych środowiskowych jest dość proste przy użyciu wiersza polecenia DOS (Wszystkie programy> Akcesoria> Wiersz polecenia). Użyjesz tego polecenia, setxaby trwale zmienić zmienne środowiskowe PATHi PYTHONPATHśrodowiskowe.

W wierszu polecenia wpisz „ echo %PATH%”; wypisze ciąg będący PATHzmienną. Zasadniczo jest to długi ciąg znaków. Teraz wypróbuj to ze PYTHONPATHzmienną, aby zobaczyć, co w niej jest. Zauważysz, że każda ścieżka w tych zmiennych jest oddzielona średnikiem ( ;). Kiedy dodajemy nowe ścieżki do tych zmiennych, musimy je uwzględnić.

wprowadź opis zdjęcia tutaj

Zasadniczo to, co będziesz robił, to informowanie komputera, że ​​twój nowy PATHi PYTHONPATHzmienne mają być równe niektórym nowym ciągom (ścieżkom) (jak C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;) oraz temu, co jest już zapisane w zmiennej.

Polecenie, które wykonasz, aby ustawić PATHzmienną, to: setx PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%(upewnij się, że ścieżki te dotyczą twojego systemu)

wprowadź opis zdjęcia tutaj

Polecenie, które wykonasz, aby ustawić PYTHONPATHzmienną, to: setx PYTHONPATH=C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;C:\ArcGIS\Desktop10.1\arcpy;C:\ArcGIS\Desktop10.1\ArcToolbox\Scripts;%PYTHONPATH%(upewnij się, że ścieżki te dotyczą twojego systemu)

UWAGA: Upewnij się, że dodajesz „ %PATH%” i „ %PYTHONPATH%” na końcu odpowiednich poleceń. Jeśli tego nie zrobisz, zastąpisz te zmienne tylko nowymi ścieżkami i utracisz bieżącą zawartość.


Dzięki, Jason! Potrzebuję jednak trochę więcej szczegółów, jak to zrobić - jak edytować zmienne użytkownika?
— SharonB 24.04.13

W wierszu polecenia DOS będziesz chciał użyć polecenia SETX (druga odpowiedź na stackoverflow.com/questions/8358265/... ), aby trwale wstawić ścieżki do zmiennych PATH i PYTHONPATH. Możesz to zrobić również za pomocą niektórych narzędzi administracyjnych, jeśli dobrze pamiętam, ale nie mam uprawnień na komputerze do ich używania, więc zwykle używam okna DOS.
— Jason

Jeszcze raz dziękuję ... jako początkujący Python-er, który pracuje przede wszystkim w IDLE (nigdy nie dotykał wiersza poleceń DOS) Nie wiem / jak dodać nowe zmienne środowiskowe PATH i PYTHONPATH. Być może zrzuty ekranu i / lub opcja wykonania tego poprzez GUI (nie DOS)?
— SharonB 24.04.13

Whoa. Dziękuję Ci. To imponujące. Bardzo doceniam, dam ci znać, jak to idzie.
— SharonB

Hehe, to prosty proces, ale wygląda skomplikowany z powodu wszystkich ścieżek! Mam nadzieję, że cała twoja praca się zbliża!
— Jason
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.