ArcGIS 10.0'ı Virtualenv Altında Çalıştırma


12

Komut satırı araçları ve ArcToolbox araçlarının karışımı olan bir Python paketi üzerinde çalışıyorum. Python gelişimi için, özellikle yükleyicilerle çalışırken VirtualEnv kullanmak gerçekten yararlıdır. ArcMap veya ArcCatalog'un Python'da geçerli bir VirtualEnv oturumunu tanımasının bir yolu var mı, böylece özel bir araç yürütüldüğünde c: \ Python26 \ ArcGIS10'daki varsayılan Python yolları ve paketleri yerine VirtualEnv Python yolları ve paketleri kullanıyor 0,0?

Yanıtlar:


11

Bu uygulama içine yerleşik değil, ama bir cmd.exeoturumda virtualenv kurar toplu iş dosyasını çalıştıran ve daha sonra aynı DOS kutusundan arcmap.exe çalışan sanalenv almalısınız varsayalım. ArcMap ve arkadaşlar olacaktır yüklemek 's içerecek şekilde hafifçe yolunu değiştirmek arcgisscriptingve arcpy.

Düzenleme: Bunun çalışması için masaüstü uygulamalarındaki Python penceresinden enable_this komut dosyasını açıkça çağırmanız gerekir. Bir VirtualEnv varsa , bir ArcGIS masaüstü uygulamasında Python penceresinden çalıştıracak c:\Users\jason\myenvsorunu çıkaracağım execfile(r'C:\Users\jason\myenv\Scripts\activate_this.py', {'__file__': r'C:\Users\jason\myenv\Scripts\activate_this.py'}).


Bu işe yaramıyor gibi görünüyor. Bir VirtualEnv çalışma alanı oluşturdum, etkinleştirdim, sonra ArcCatalog içinde test etmek istediğim bir paket kurdum. Çok uzak çok iyi. Bu VirtualEnv oturumu içinde bir Python kabuğu açar ve yeni yüklenen paketleri içeri aktarırsam - alma çalışır. Daha sonra ArcCatalog'u başlatıp bu paketlerden birini bir araç kutusu komut dosyasından çağırmaya çalışırsam işe yaramaz. ArcCatalog içindeki Python kabuğundan sys.path'e bakarsam, ArcGIS 10.0 için varsayılan Python dizinini gösterir (C: \ Python26 \ ArcGIS10.0).
SagebrushGIS

4
activate_this.pyArcCatalog ve arkadaşlarınızdaki Python penceresinden VirtualEnv'nizin aynı Scripts dizininde de komut dosyasını kullanmaya bakın . execfile(r'C:\Users\jason\myenv\Scripts\activate_this.py', {'__file__': r'C:\Users\jason\myenv\Scripts\activate_this.py'})ArcMap içinden VirtualEnv önyüklememi çalıştırabildim ve alabildim.
Jason Scheirer

1
Müthiş! Hile yaptı.
SagebrushGIS
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.