ArcPy'i Anaconda ile birlikte çalışmak mı?


23

" PyGhon kurulumunun ArcGIS ile nasıl ayrılacağı " cevabında adım adım talimatları izlemeye çalışıyorum, fakat yol dosyasını DTBGGP64.pth, içinde bulamıyorum C:\Python27\ArcGIS10.2\Lib\site-packages.

Birisi benzer bir sorunla karşılaştı mı?

Anaconda arcpy'nin yüklü olduğunu bildiren bir yol dosyası ekleyerek bir geçici çözüm olup olmadığını merak ediyorum. Aşağıdaki metni içeren bir .pth dosyası oluşturmaya çalıştım:

# .pth file for arcpy

C:\Program Files (x86)\ArcGIS\Desktop10.2\bin 
C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy
C:\Program Files (x86)\ArcGIS\Desktop10.2\Scripts

ve onu C:\Anaconda\Lib\site-packages(yani, tüm paketlerin kaydedildiği yer buysa) kaydedildi ancak aşağıdaki hatayı alıyorum:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\__init__.py", line 21, in <module>
    from arcpy.geoprocessing import gp
  File "C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\geoprocessing\__init__.py", line 14, in <module>
    from _base import *
  File "C:\Program Files (x86)\ArcGIS\Desktop10.2\arcpy\arcpy\geoprocessing\_base.py", line 14, in <module>
    import arcgisscripting
ImportError: DLL load failed: %1 is not a valid Win32 application.

Conda 3.7-py27'yi Windows 7 (64bit) platformunda kullanıyorum. Anaconda yüklü C:\Anacondave ArcMap yüklü C:\ArcGIS\Desktop10.2. Arctic'i Anaconda ile çalışmak için alternatif bir çözüm var mı? Sadece senaryolarımı Powershell'den çalıştırabilmek istiyorum.


Sadece emin olmak için - bir cmd komut satırına 'python' yazdığınızda - hangi versiyonda / install eko yapar? (yani arcgis veya anakonda?) - ayylerin bunun biraz tarihli olduğunu gördü. prob şimdi tarafından çözüldü.
fluidmotion

Esri UC'deki bir geliştiriciden Anacondas'ın ArcGIS 10.5'e ekleneceğini duydum. İhtiyacınız olan modüllerin kurulmasını tavsiye ederim, aksi takdirde ortalık karışabilirdi.
dgrubman

Yanıtlar:


13

Anaconda kurulumunuzda 64 bitlik bir Python sürümü kullanıyorsunuz ve ArcMap'in Python'u 32 bit. Bazı 64 bit ArcGIS yapılarını (64 bit Arka Plan Geoprocessing veya Sunucu için ArcGIS) kurmanız ve bunun yerine işaret etmeniz veya bunun yerine 32 bit Anaconda örneği kurmanız ve tekrar denemeniz gerekir. İndirilenler sayfasına bakın ve 32 bit yükleyiciyi edinin.


33

Bu eğitici yazı ArcGIS 10.4 ve ArcGIS Pro 1.3 ile çalışmak için conda ortamını nasıl kuracağınızı gösterir.

ArcGIS 10.4 ile Anaconda'yı kurmak için iş akışı

  • Escon'un python yığınını kırmak için Anaconda'yı Windows ortamına (yollar, kayıt defteri) kirletmeden kurun
  • Anaconda'yı istediğiniz belirli eklentilerle yapılandırın ve
  • ArcGIS Python'u uygun Anaconda içeriğinden haberdar olacak şekilde yapılandırın.

1) Tüm kullanıcılar için Anaconda yükleyin

  1. Http://continuum.io/downloads adresine gidin.
  2. Anaconda'nın 32-bit sürümünü indirin (Python 2.7)
  3. Yükleme iletişim kutularında:
    • Tüm Kullanıcılar için yüklemeyi seçin
    • Varsayılan olarak bir klasöre yükle (C: \ Anaconda2)
    • ÖNEMLİ : ArcGIS'in (veya diğer yazılımların) kırılmasını önlemek için, (a) Anaconda'yı varsayılan Python yapın ve (b) Anaconda'nın Python'unu PATH'e ekleyin.
  4. Başlat> Tüm Programlar (uygulamalar)> Anaconda2 (32-bit)> Anaconda Prompt. Sağ tıklayın, yönetici olarak çalıştırın

2) Bir Anaconda ortamını ArcGIS ile kullanmak için yapılandırın

  1. ArcGIS kullandığı numpy ve matplotlib sürümlerini bulun.
ArcMap ve Python penceresini açın ve şu komutları girin:

    • >>> ithalat sistemi, numpy, matplotlib
    • >>> print (sys.version, numpy .__ version__, matplotlib .__ version__)
    • ('2.7.10 (varsayılan, 23 Mayıs 2015, 09:40:32) [MSC v.1500 32 bit (Intel)]', '1.9.2', '1.4.3')
  1. ArcGIS ile uyumlu bir Anaconda ortamı yaratın
    • Anaconda Komut İstemi'ne gidin (Başlat> Tüm Programlar (uygulamalar)> Anaconda2 (32-bit), " Anaconda İstemi " seçeneğini seçin), Sağ tıklayın, Yönetici Olarak Çalıştır'ı seçin .
    • Tür (ArcGIS sürümüne bağlı olarak, burada örnek olarak ArcGIS 10.4 kullanıyorum):
    • "conda create -n arc104 python = 2.7.10 numpy = 1.9.2 matplotlib = 1.4.3 sıkıştırmak xlrd xlwt pandalar scipy ipython ipython-notebook ipython-qtconsole"
    • Devam etmek için y girin .
    • Anaconda'nın conda komutu daha sonra bir ortam alt dizini kurar, örneğin: "C: \ Anaconda2 \ envs \ arc104", indirilen paketleri içine yükler.
  2. Sanal ortamı test et
    • Anaconda Komut İsteminde şunu yazın: activate arc104
    • Aşağıdakini yazın : conda listesi . Kurulu paketlerin listesini görebilirsiniz.
  3. Daha fazla paket ekle
    • Conda kurulumunu kullanarak daha fazla paket ekleyebilirsiniz , ancak ortamın python veya numpy sürümünü değiştirmeyecek sürüm numaralarını belirttiğinizden emin olun (veya ArcGIS artık bu ortamı kullanamayacak).
    • Python Mekansal Analiz Kütüphanesi ( pysal ) modülünü ekleyelim .
    • Anaconda İstemi'ne aşağıdaki komutu yazın : "conda install -n arc104 python = 2.7.10 numpy = 1.9.2 matplotlib = 1.4.3 pysal"

3) ArcGIS’i Anaconda’yı görecek ve

  1. Anaconda Python a ArcPy
    • Kopya Desktop10.4.pth site paketleri klasörü Anaconda ortamına dosya:
    • Kimden: C: \ Python27 \ ArcGIS10.4 \ Lib \ site paketleri \ Desktop10.4.pth
    • Kime: C: \ Anaconda2 \ envs \ arc104 \ Lib \ site paketleri \ Desktop10.4.pth
  2. Arctic to Anaconda Python
    • Bir zconda.pth oluşturun "C: \ Anaconda \ envs \ arc104 \ lib \ site-package" içeriğine sahip (yol) dosyası oluşturun.
    • Ardından, zconda.pth dosyasını C: \ Python27 \ ArcGIS10.4 \ Lib \ site-paketlerine kopyalayın
  3. ArcMap'te Test Etme
    • Düzenli bir kullanıcı olarak ArcMap'i başlatın, Python penceresini açın.
    • "import pysal" yazın
    • "pysal" yazın. Pysal tarafından sağlanan işlevlerin listesini içeren bir açılır menü, kurulumun başarılı olduğuna dair oldukça iyi bir işarettir.
  4. PyCharm'ta Test Etme
    • PyCharm'i başlatın, Dosya \ Ayarlar'da, Proje'yi ve ardından Proje Tercümanını seçin
    • Proje Tercümanı için açılan listeyi yoksayın ve Yerel Ekle seçeneğinin ve dosya tarayıcısındaki cog düğmesini tıklayın. C: \ Anaconda2 \ envs \ arc104 \ python.exe seçin
    • Komut dosyanızı çalıştırmak için Proje penceresinde sağ tıklayın ve Çalıştır veya Hata Ayıkla'yı seçin.
    • Arc104 ortamını kullanmak için Python Konsolu için PyCharm'i yeniden başlatın.

ArcGIS Pro 1.3 ile Anaconda'yı kurmak için iş akışı

1) ArcGIS Pro ile uyumlu bir Anaconda ortamı oluşturun.

  • Arcgispro-py3 klasörünü C: \ Program Files \ ArcGIS \ Pro \ bin \ Python \ envs dizininden kopyalayın ve C: \ Anaconda2 \ envs dizinine yapıştırın
  • Kopyalanan klasörü arcgispro-py3'ü C: \ Anaconda2 \ envs içinde arcpro olarak yeniden adlandırın

2) Sanal ortamı test edin

  • Anaconda Komut İstemi'ne şunu yazın: activate arcpro
  • Aşağıdakini yazın : conda listesi . Kurulu paketlerin listesini görebilirsiniz.

3) Daha fazla paket ekleyin

  • Python Mekansal Analiz Kütüphanesi ( pysal ) modülünü ekleyelim .
  • Anaconda İstemi'ne aşağıdaki komutu yazın : "conda install pysal"

4) ArcGIS’i Anaconda’yı görecek ve

  • Anaconda Python a ArcPy
    • Düzenleme ArcGISPro.pth içinde (yol) dosyası "C: \ Anaconda2 \ ENV \ arcpro \ lib \ site paketleri".
    • Göreceli ArcPy'yi değiştirme yolunu C: \ Program Files \ ArcGIS \ Pro \ Resources \ ArcPy olarak değiştirin
    • Göreceli ArcToolBox yolunu C: \ Program Files \ ArcGIS \ Pro \ Resources \ ArcToolBox olarak değiştirin
  • Arctic to Anaconda Python
    • Bir zconda.pth oluşturun "C: \ Anaconda2 \ envs \ arcpro \ lib \ site-Packages" içeriğine sahip (yol) dosyası oluşturun.
    • Sonra zconda.pth dosyasını C: \ Program Files \ ArcGIS \ Pro \ bin \ Python \ envs \ arcgispro-py3 \ lib \ site-paketlerine kopyalayın.
  • ArcGIS Pro’da Test Etme
    • ArcGIS Pro'yu başlatın, Python penceresini açın
    • "import pysal" yazın
    • "pysal" yazın. Pysal tarafından sağlanan işlevlerin listesini içeren bir açılır menü, kurulumun başarılı olduğuna dair oldukça iyi bir işarettir.
  •  PyCharm'ta Test Etme
    • PyCharm'i başlatın, Dosya \ Ayarlar'da, Proje'yi ve ardından Proje Tercümanını seçin
    • Project Interpreter için açılan listeyi yoksayın ve Yerel Ekle için cog düğmesini tıklayın ve dosya tarayıcısında C: \ Anaconda2 \ envs \ arcpro \ python.exe seçin
    • Komut dosyanızı çalıştırmak için Proje penceresinde sağ tıklayın ve Çalıştır veya Hata Ayıkla'yı seçin.
    • Arcpro ortamını kullanmak için Python Konsolu için PyCharm'i yeniden başlatın.

Referanslar

  1. https://goo.gl/pOyLA9

Tüm bunlar harika çalışıyor, Anaconda paketleri ArcGIS'in içinde ve tam tersi, ancak bununla ilgili bir sorunum var. Eğer bir arcpy ithal edip sonra arcpy yapmayı denersem, Anaconda'da RDBMS (Oracle) kaynaklı bir özellik sınıfını açıklarsam, o zaman IOError alamazdım: ... yok. Bir dosya veritabanı özellik sınıfında düzgün çalışır ancak görünüşte Oracle'a bağlanmaz (örneğin, arcpy.Describe (r'C: \ temp \ password_saved_sde_file.sde \ EDGIS.ElectricDataset \ EDGIS.Anchor ')).
Phil Penn

7

Bunu ele almak için, benim "C: \ Python27 \ ArcGIS10.1 \ Lib \ site-Packages" altında bulunan python27 \ Lib \ site-paketleri klasörüne göz atın ve Desktop10.1.pth dosyasını bulun.

Sistemimde, sorun Desktop10.1.pth dosyasını "C: \ AppData \ Local \ Continuum \ Anaconda \ Lib \ site-packs" içine kopyalamakla çözüldü.

Anaconda 64 bit kullanıyorsanız, ArcGIS 32 bit çalıştığından, arcpy'yi içe aktarmayı denediğinizde farklı bir hata alırsınız. Bu nedenle, Anaconda 32 bit'in 64 bit yerine yüklü olduğundan emin olmalısınız, böylece işler ArcGIS ile eşleşecektir. Dosya kopyalandıktan ve Anaconda 32 bit'iniz olduğunda, içe aktarma arcpy'si çalışmalıdır.


3

Arc'ı Anaconda'dan önce yüklediyseniz, varsayılan IDLE'niz, Python Penceresi (Arc'da) ve Python konsolu her zaman Arc yüklü modüllerden, yani C:\Python27\ArcGIS <version>\Lib(ve / veya) çeker Lib\site-packages. Anaconda ile Arc'ın Python kurulumu ile kullanmak istediğiniz paketleriniz varsa, Python yüklemeleri arasında paylaşımda bulunmak için .pth dosyaları yazmanız gerekir ( hafif okuma ).

Mesela, Anaconda eşyalarımdan panda paketini kullanmak istedim. Arc-site kurulumunu Anaconda site-paketlerine bağlamak için anaconda.pthgerekli içerikleri içeren “Arc” site paketleri klasöründe bir metin dosyası hazırladım C:\Anaconda\Lib\site-packages. Şimdi, import pandasbir ImportError olmadan Arc-yüklü Python'un içinde yapabilirdim. (Eğer numpy ile ilgili sorun yaşarsanız, Arc yüklü numpyklasörü yeniden adlandırın ._numpy ).

Flipside, Desktop<version>.pthdosyayı Arc site paketleri klasöründen kopyalayıp Anaconda'nıza (arkaplan paketinin gerçek konumunu belirtir) kopyalayın ve Anaconda'nızdaki Arc site paketleri klasörünüzü işaret eden başka bir .pth dosyası oluşturun. kullanıyorsanız, Arc'ın paketlerini Spyder'dan kullanabilirsiniz.


2

Başka bir kullanıcı da github'da sizin ilginizi çekebilecek benzer bir soru sordu. Anaconda için arcpy autocompletion verilerini almak için bir kullanıcının önerdiği şeyin özeti:

DamnWidget 26 Şub hakkında yorum yaptı https://github.com/DamnWidget/anaconda/issues/284

Bir PowerShell veya CMD.exe açın ve Sublime Text% 3 APPDATA% içindeki Paketler klasörü altındaki anaconda kurulumunuza gidin. Anaconda_lib klasörü içine CD ve bu yolda etkileşimli bir Python yorumlayıcısı başlatın.

Aşağıdakileri kopyalayıp yapıştırın:

import jedi

print(jedi.Script('import arcpy; arcpy.').completions())

Sonra (en azından benim için) cmd penceresinde bir sürü şey geri döndü ve işe yaramış gibi görünüyordu. Sublime Text'i tekrar açtım ve arktik fonksiyonlar için otomatik tamamlamayı açıyor.

Benim sorunum, onları yüklemek için 5 saniyeden fazla sürüyor, arcpy'nin bellekte birkaç saniyeden uzun süre kalmamasını sağlıyor. Ama bence bu farklı bir konu ...


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.