PC'nizde ArcGIS'i yakalayan ve arayan küçük (ve nispeten popüler) bir modül yarattım. Bir kez bulduktan sonra arcpy alabilirsiniz böylece çevreye doğru yollar ekler. Kullanım bu şekilde gider:
try:
import archook #The module which locates arcgis
archook.get_arcpy()
import arcpy
except ImportError:
# do whatever you do if arcpy isnt there.
Modül burada github'da barındırılmaktadır:
https://github.com/JamesRamm/archook
Çok basit ve daha sağlam yapılabileceğinden eminim, ama işi yapıyor. Pypi'de kullanılabilir:pip install archook
Daha 'manuel' orijinal yönteme göre birkaç avantajı vardır (aşağıda detaylandırılmıştır):
- Her bir python ortamını ayrı ayrı yapılandırmanız gerekmez ... sadece modülü alın ve çıkın
- Herhangi bir kayıt defteri anahtarını veya kalıcı ortam değişkenini düzenlemez / oluşturmaz, bu nedenle mevcut herhangi bir python / arcgis yapılandırmasını bozma şansı yoktur .
- Çeşitli klasörlere / dosyalara giden yollar veya hatta hangi arcgis versiyonunun kurulu olduğu hakkında hiçbir şey bilmenize gerek yok. Modül sizin için her şeyi bulacaktır.
- Yönetici doğrulaması gerekmez
- Anaconda'ya özgü değildir - herhangi bir python kurulumuyla çalışacaktır.
Asıl cevabı aşağıda bıraktım, ancak bu çözüm (IMO)% 100 daha iyi.
2014 cevap
Tamam, bu cevap Windows 7 / Windows Server'da ArcGIS 10.1 64bit ile Anaconda 64bit Python dağıtımı için çalışıyor. Aşağıda verilen ipuçlarından bazıları (veya tümü), pitonun diğer herhangi bir pencere dağılımı için geçerli olabilir. Öncelikle anaconda'yı kurun, C: \ Anaconda dizinine gitmelidir. 'Make system default python' kutusunu işaretleyin. Takılı başka bir python olduğuna dair bir uyarı verebilir, ancak devam eder. Sonra:
Kurulum Yolları ve Ortam Değişkenleri
Yapılacak ilk şey DTBGGP64.pth dosyasını, yeni dağıtım dizinine ( C: \ Anaconda ) C: \ Python27 \ ArcGISx6410.1 \ Lib \ site-pack'lerden kopyalamaktır . Adlandırma arbritrary olmakla olmalıdır .pth yeni dağıtım kullanılırken bu size ArcPy almak sağlayacak uzantısı.
Not: DTBGGP64.pth dosyasının doğru konumu site paketleri dizininde olmalıdır (örn. C: \ Anaconda \ Libs \ site-Packages ). Anaconda'nın bazı eski sürümlerinde üst düzey dizine oturduysa işe yaradığını gördüm
Sonraki, ortam değişkenlerinin kontrol edilmesi gerektiğini: Path sistem değişkenindepython dizinine giden yol yeni yolla değiştirilmelidir. (örn. C: \ Anaconda; C: \ Anaconda \ Scripts; ) Bu, pencerelere varsayılan python dizininin nerede olduğunu söyleyecektir. PYTHONPATH kullanıcı değişkeninin de doğru olduğundan emin olun . Bu, kullanmak istediğiniz, .pth dosyaları tarafından tanımlanmayan veya site paketlerine yüklenmiş kütüphaneleri işaret etmelidir . IE, kendi geliştirme paketleriniz veya farklı bir kurulum konumuna sahip olan mapnik gibi paketler olabilir .
Kayıt Defteri Ayarlarını Kontrol Et
Bazı makinelerde, yeni pythondan arcpy kullanabilmenizi ve python'un ArcGIS içinde kullanılmasını sağlamak için yeterli olabilir. Diğer makinelerde kayıt defteri anahtarlarını kontrol etmeniz gerekebilir. Aşağıdaki kayıt defteri anahtarları python ayarlarına sahiptir:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath
Bir anahtar olmalı ve 'değeri C: \ Anaconda \ Lib; C: \ Anaconda \ DLL olmalıdır
(veya python kurulumunuz için ilgili klasörler)
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath
Anahtar, C: \ Anaconda olmalıdır
Başka python sürümleri yüklenmiş olabilir ... bu durumda yukarıdaki yollardaki sürüm numarasını değiştirin
HKEY_CLASSES_ROOT \ Python.CompiledFile \ DefaultIcon
Bu, .pyc dosyaları için kullanılacak .ico dosyasının konumu
HKEY_CLASSES_ROOT \ Python.CompiledFile \ shell \ open \ command
Bu, bir .pyc dosyasını kabuktan açarken verilecek komuttur. Sen değişmelidir python.exe
istediğiniz piton sürümü konumunun yolunu
HKEY_CLASSES_ROOT \ Python.File
Buradaki anahtarlar, bir .py dosyasına uygulanması dışında Python.CompiledFile ile aynıdır. Yine ilgili değişiklikleri yapın. 'IDLE ile düzenle' veya 'Pythonwin ile düzenle' için fazladan bir anahtar olabilir. Yine, ilgili değişiklikleri yapın, böylece bu anahtarlardaki yollar istediğiniz python sürümüne işaret eder.
HKEY_CLASSES_ROOT \ Python.NoConFile
Bunlar Python.File ile aynıdır, ancak pythonw.exe
programın uygun olduğu yere işaret etmelidir.
HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ Python10.1 PythonDir bu ESRI tarafından yüklenen olarak piton yüklemesi gibi kalır, ya da yeni bir tesisat ile işaret etmek için ArcMap vb içinde kullanılmak üzere piton yüklemesine anahtar nokta .. Sen isteyebilirler. Bu olabilir yeni piton yüklemesine ArcMap'i işaret etmesi durumunda diğer değişiklikleri gerektirir. Orada olabilecek yeni dağıtım tarafından yüklenen paketlerin sürümleri (örneğin numpy) ile ilgili sorunlar olabilir. Ben hiç karşılaşmadım.
Çalışmalarımın çoğunda, tipik olarak kendi başına python kullanmak istediğim ve bazen arcpy'e erişebildiğim için bu benim için önemli değil. Nadiren arpmap içinden python kullanmak istiyorum ... Bu yüzden bu son adımı çok az test ettim, ama şimdiye kadar denediğim her şey için işe yarıyor gibi görünüyor.
İşlemin Python (x, y) vb. Yüklemek için benzer olacağını hayal ediyorum.
Diğer notlar
.Pth dosyasının içeriği, ArcGIS kurulumunuzdaki aşağıdaki klasörlere işaret eden yolların listesidir: bin64, arcpy, ArcToolbox \ Scripts Örneğin, .pth dosyam şunları içerir:
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