Bagaimana cara mengakses modul Esri ArcPy dari Enthought Canopy?

10

Saya memiliki ArcGIS 10.1 yang berjalan pada sistem windows saya dan saya juga menginstal 32-bit Canopy Express Enthought Python Distribution.

Apakah mungkin memuat dan menggunakan modul Esri ArcPy dari Canopy?

SharonB
sumber
saya menggunakan solusi dari jawaban pertama dan bekerja dengan sempurna tetapi saya perlu kanopi x64, apakah ada cara untuk mengimpor lib ini di kanopi x64?
Μανώλης Παναγιωτάκης

Jawaban:

20

Ada cara mudah yang tidak melibatkan mengacaukan PATH atau PYTHONPATH sistem Anda.

Distribusi Python Enthought, termasuk Canopy x32, berdiri sendiri dan tidak memerlukan apa pun dalam registri atau dalam variabel lingkungan. Jadi mereka bisa bermain bagus dengan distribusi Python lain seperti yang ada pada ArcGIS 10.1.

Untuk mengakses modul python ArcGIS 10.1 dari Enthought Canopy : Buat file "path" di direktori pengguna Canopy yang menunjuk ke modul python ArcGIS 10.1. Di sistem saya, saya membuat file teks yang disebut arcpy.pthdengan 4 baris ini:

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

dan letakkan arcpy.pthdi direktori paket-situs Pengguna Canopy:

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

Untuk mengakses modul Enthought Canopy dari ArcGIS 10.1 : Buat file "path" di folder paket situs Arc yang menunjuk ke modul python Canopy. Di sistem saya, saya membuat file teks yang disebut epd.pthdengan 3 baris ini:

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

dan kemudian dimasukkan ke epd.pthdalam folder paket situs Arc:

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

Hanya itu yang perlu saya lakukan!

-Kaya

PS Ini berfungsi karena Enthought Canopy 1.0 dan ArcGIS10.1 memiliki versi Python (2.7) dan Numpy (1.6.1) yang sama. Saya harap kami dapat terus memiliki kompatibilitas ini!

Pembaruan: Saya baru saja mencoba ini dengan Canopy 1.0.3, yang menggunakan Numpy 1.7.1, dan masih berfungsi, meskipun ArcGIS 10.1 ada di Numpy 1.6.1. Hore! Hura!

Rich Signell
sumber
3
Beberapa catatan: 1. Pastikan Anda telah menginstal EPD / Canopy x32 untuk digunakan dengan ArCGIS Desktop. 2. file pth dimuat dalam urutan abjad, sehingga untuk menghindari konflik saya telah menamai file ini: "zzArcGIS.pth" (folder paket situs Canopy) dan "zzEPD.pth" (folder paket situs ArcGIS). 3. Jika Anda menggunakan ArcGIS Desktop x64 Background GP, atau ArcGIS Server (yang menggunakan Python x64), Anda perlu menginstal EPD / Canopy 64-bit dan menambahkan file .pth yang menunjuk ke folder paket situs EPD dan ArcGIS Python. .
Harga Curtis
3

Ya itu. Berikut adalah kutipan dari panduan instalasi internal yang hanya digunakan untuk melakukan hal yang sama pada mesin saya (pastikan ini berlaku untuk mesin khusus Anda):


Konfigurasikan lingkungan untuk EPD

  1. Tambahkan PATH baru di variabel pengguna Anda (tambahkan epd ke PATH):

    (edit jalur di bawah ini sesuai dengan versi EPD atau ArcGIS yang Anda gunakan) PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%

  2. Jika ArcGIS diinstal, atur variabel lingkungan PYTHONPATH agar
    ArcGIS dapat mengimpor modul EPD, dan EPD dapat mengimpor ArcPy:

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

Jika Anda mengalami masalah dengan ArcGIS yang bertentangan dengan EPD, Anda dapat dengan mudah menghapus EPD dari lingkungan ArcGIS dengan menghapus referensi ke EPD di PYTHONPATH.


Penolakan! Sementara langkah-langkah di bawah ini telah berhasil bagi saya di masa lalu, saya bukan orang yang paham DOS dan saya akan merasa lebih baik jika Anda berkonsultasi dengan seseorang di departemen TI Anda untuk memastikan saya tidak membagikan saran yang buruk. Dengan itu, baca terus ...

Menambahkan jalur ke variabel lingkungan Anda cukup mudah menggunakan prompt perintah DOS (Semua Program> Aksesori> Prompt Perintah). Anda akan menggunakan perintah setxuntuk mengubah variabel Anda PATHdan PYTHONPATHlingkungan secara permanen .

Pada prompt perintah, ketik " echo %PATH%"; itu akan mencetak string yang merupakan PATHvariabel. Ini pada dasarnya hanya serangkaian panjang karakter. Sekarang coba dengan PYTHONPATHvariabel untuk melihat apa yang ada di sana. Anda akan melihat setiap jalur dalam variabel-variabel tersebut dipisahkan oleh tanda titik koma ( ;). Ketika kita menambahkan jalur baru ke variabel-variabel ini kita harus memasukkan ini.

masukkan deskripsi gambar di sini

Pada dasarnya apa yang akan Anda lakukan adalah memberi tahu komputer bahwa Anda ingin variabel baru PATHdan Anda PYTHONPATHsama dengan beberapa string baru (jalur) (seperti C:\Python27_epd32\lib\site-packages;C:\ArcGIS\Desktop10.1\bin;) ditambah apa yang sudah disimpan dalam variabel.

Perintah yang akan Anda jalankan untuk mengatur PATHvariabel Anda adalah: setx PATH=C:\Python27_epd32;C:\Python27_epd32\Scripts;%PATH%(pastikan jalur ini berlaku untuk sistem Anda)

masukkan deskripsi gambar di sini

Perintah yang akan Anda jalankan untuk mengatur PYTHONPATHvariabel Anda adalah: 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%(pastikan jalur ini berlaku untuk sistem Anda)

CATATAN: Pastikan Anda menambahkan " %PATH%" dan " %PYTHONPATH%" ke akhir dari masing-masing perintah. Jika tidak, Anda akan menimpa variabel tersebut hanya dengan jalur baru dan Anda akan kehilangan konten saat ini.

Jason
sumber
Terima kasih, Jason! Namun, saya perlu sedikit lebih detail tentang cara melakukan ini - bagaimana cara saya mengedit variabel pengguna?
SharonB
Pada prompt perintah DOS Anda akan ingin menggunakan perintah SETX (jawaban ke-2 di stackoverflow.com/questions/8358265/… ) untuk secara permanen menambahkan path ke variabel PATH dan PYTHONPATH Anda. Anda juga dapat melakukan ini melalui beberapa Alat Administratif jika saya ingat dengan benar, tetapi saya tidak memiliki izin pada komputer kerja saya untuk menggunakannya sehingga saya biasanya menggunakan jendela DOS.
Jason
Terima kasih lagi ... sebagai pemula Python-er yang bekerja terutama di IDLE (tidak pernah menyentuh prompt perintah DOS) Saya tidak tahu tentang / bagaimana cara menambahkan variabel lingkungan PATH dan PYTHONPATH yang baru. Mungkin tangkapan layar dan / atau opsi untuk melakukan ini melalui GUI (bukan DOS)?
SharonB
Wah Terima kasih. Ini mengesankan. Sangat dihargai, saya akan memberi tahu Anda bagaimana hasilnya.
SharonB
Hehe, ini proses yang sederhana, tetapi terlihat rumit karena semua jalurnya! Saya harap semua pekerjaan Anda datang bersama!
Jason