Enthought Canopy'den Esri ArcPy modüllerine nasıl erişilir?


10

ArcGIS 10.1'i Windows sistemimde çalıştırıyorum ve yeni 32 bit Canopy Express Enthought Python Distribution'ı da yükledim.

Canopy'den Esri ArcPy modüllerini yüklemek ve kullanmak mümkün müdür?


i ilk cevap çözüm kullanılan ve mükemmel çalıştı ama gölgelik x64 gerekir, gölgelik x64 bu lib almak için herhangi bir yolu var mı?
Μανώλης Παναγιωτάκης

Yanıtlar:


20

Sistem PATH veya PYTHONPATH ile uğraşmayı içermeyen kolay bir yol var.

Canopy x32 dahil Enthought Python Dağıtımları bağımsızdır ve kayıt defterinde veya ortam değişkenlerinde herhangi bir şeye ihtiyaç duymaz. Böylece ArcGIS 10.1 ile gelen gibi diğer Python dağıtımlarıyla iyi oynayabilirler.

ArcGIS 10.1 python modüllerine Enthought Canopy'den erişmek için : Canopy kullanıcı dizininde ArcGIS 10.1 python modüllerini gösteren bir "yol" dosyası oluşturun. Sistemimde arcpy.pthşu 4 satırla adlandırılan bir metin dosyası oluşturdum :

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

ve arcpy.pthCanopy Kullanıcısı site paketleri dizinine koyun :

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

Enthought Canopy modüllerine ArcGIS 10.1'den erişmek için : Arc site paketleri klasöründe Canopy python modüllerine işaret eden bir "yol" dosyası oluşturun. Sistemimde epd.pthşu 3 satırlı bir metin dosyası oluşturdum :

# .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

ve sonra epd.pthArc site paketi klasörüne koyun :

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

Tüm yapmam gereken bu!

-Zengin

PS Bu, Enthought Canopy 1.0 ve ArcGIS10.1'in Python (2.7) ve Numpy (1.6.1) ile aynı sürümde olması nedeniyle çalışır. Umarım bu uyumluluğa sahip olmaya devam edebiliriz!

Güncelleme: Numpy 1.7.1 kullanan Canopy 1.0.3 ile bunu denedim ve ArcGIS 10.1 Numpy 1.6.1'de olsa bile hala çalışıyor. Yaşa! Yippee!


3
Birkaç not: 1. ArCGIS Desktop ile kullanmak için EPD / Canopy x32 kurduğunuzdan emin olun. 2. pth dosyaları alfabetik sırayla yüklenir, bu nedenle çakışmaları önlemek için şu dosyaları adlandırdım: "zzArcGIS.pth" (Canopy site-paketleri klasörü) ve "zzEPD.pth" (ArcGIS site-paketleri klasörü). 3. ArcGIS Desktop x64 Arka Plan GP veya ArcGIS Sunucusu (Python x64 kullanan) kullanıyorsanız 64 bit EPD / Canopy yüklemeniz ve 64 bit EPD ve ArcGIS Python site paketleri klasörlerine işaret eden .pth dosyaları eklemeniz gerekir .
Curtis Price

3

Evet öyle. Makinemde aynısını yapmak için kullanılan dahili bir kurulum kılavuzundan bir alıntı (lütfen bunların makinenize uygulandığından emin olun):


EPD için ortamı yapılandırma

  1. Kullanıcı değişkenlerinize yeni bir PATH ekleyin (epd'yi PATH'in başına ekleyin):

    (aşağıdaki yolları kullandığınız EPD veya ArcGIS sürümüne göre düzenleyin) PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%

  2. ArcGIS kuruluysa, PYTHONPATH ortam değişkenini
    ArcGIS EPD modüllerini içe aktarabilir ve EPD ArcPy'yi içe aktarabilir:

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

ArcGIS'in EPD ile çakışmasıyla ilgili sorun yaşarsanız, PYTHONPATH içindeki EPD referanslarını kaldırarak EPD'yi ArcGIS ortamından kolayca kaldırabilirsiniz.


Yasal Uyarı! Aşağıdaki adımlar geçmişte benim için işe yaramış olsa da, DOS konusunda bilgili biri değilim ve BT departmanınızdaki birine kötü tavsiyelerde bulunmadığımdan emin olmak için danışırsanız daha iyi hissederim. Bununla birlikte, okumaya devam edin ...

Ortam değişkenlerinize yol eklemek, DOS komut istemini (Tüm Programlar> Donatılar> Komut İstemi) kullanarak oldukça basittir. Komutunuzu ve ortam değişkenlerinizi setxkalıcı olarak değiştirmek için kullanacaksınız .PATHPYTHONPATH

Komut istemine " echo %PATH%"; PATHdeğişken olan dizeyi yazdırır . Aslında uzun bir karakter dizisi. Şimdi bu PYTHONPATHdeğişkenin ne olduğunu görmek için değişkeni deneyin . Bu değişkenlerdeki her yolun noktalı virgülle ( ;) ayrıldığını göreceksiniz . Bu değişkenlere yeni yollar eklediğimizde bunları eklemeliyiz.

resim açıklamasını buraya girin

Temelde yapacağınız şey, bilgisayara yeni PATHve PYTHONPATHdeğişkenlerinizin bazı yeni dizelere (yol (lar)) (örneğin C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;) ve değişkende zaten depolanmış olana eşit olmasını istediğinizi söylemektir .

PATHDeğişkeninizi ayarlamak için yürüteceğiniz komut : setx PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%(bu yolların sisteminiz için geçerli olduğundan emin olun)

resim açıklamasını buraya girin

PYTHONPATHDeğişkeninizi ayarlamak için yürüteceğiniz komut : 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%(bu yolların sisteminiz için geçerli olduğundan emin olun)

NOT: İlgili komutların sonuna " %PATH%" ve " %PYTHONPATH%" eklediğinizden emin olun . Bunu yapmazsanız, yalnızca yeni yollarla bu değişkenlerin üzerine yazacaksınız ve mevcut içeriği kaybedeceksiniz.


Teşekkürler, Jason! Ancak, bunun nasıl yapılacağı hakkında biraz daha ayrıntıya ihtiyacım var - kullanıcı değişkenlerini nasıl düzenlerim?
SharonB

DOS komut isteminde , PATH ve PYTHONPATH değişkenlerinize giden yolları kalıcı olarak eklemek için SETX komutunu ( stackoverflow.com/questions/8358265/… adresinde 2. cevap ) kullanmak istersiniz . Bunu doğru hatırlıyorsam, bazı Yönetimsel Araçlar aracılığıyla da yapabilirsiniz, ancak iş bilgisayarımda bunları kullanma iznim yok, bu yüzden genellikle bir DOS penceresi kullanıyorum.
Jason

Tekrar teşekkür ederim ... öncelikle IDLE (DOS komut istemine hiç dokunmamış) çalışan acemi bir Python-er olarak bilmiyorum / nasıl yeni PATH ve PYTHONPATH ortam değişkenleri ekleme. Belki de ekran görüntüleri ve / veya bunu bir GUI (DOS değil) aracılığıyla yapma seçeneği?
SharonB

Vay. Teşekkür ederim. Bu etkileyici. Çok takdir ediyorum, nasıl gittiğini size bildireceğim.
SharonB

Hehe, bu basit bir süreç, ancak tüm yollar nedeniyle karmaşık görünüyor! Umarım tüm çalışmalarınız bir araya gelir!
Jason
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.