Saya membuat modul kecil (dan relatif populer) yang berbunyi dan mencari ArcGIS di PC Anda. Setelah menemukannya, ia menambahkan jalur yang benar ke lingkungan sehingga Anda dapat mengimpor arcpy. Penggunaannya seperti ini:
try:
import archook #The module which locates arcgis
archook.get_arcpy()
import arcpy
except ImportError:
# do whatever you do if arcpy isnt there.
Modul di-host di github di sini:
https://github.com/JamesRamm/archook
Ini sangat sederhana dan saya yakin bisa dibuat lebih kuat, tetapi berhasil. Ini tersedia di pypi:pip install archook
Ini memiliki beberapa keunggulan dibandingkan metode asli yang lebih 'manual' (dirinci di bawah):
- Anda tidak perlu mengkonfigurasi setiap lingkungan python secara terpisah ... cukup impor modul dan pergilah
- Itu tidak mengedit / membuat kunci registri atau variabel lingkungan permanen, sehingga tidak ada kemungkinan mengacaukan konfigurasi python / arcgis yang ada.
- Anda tidak perlu tahu apa-apa tentang jalur ke berbagai folder / file, atau bahkan versi arcgis apa yang telah Anda instal. Modul ini akan menemukan semuanya untuk Anda.
- Tidak diperlukan otentikasi admin
- Ini tidak spesifik dengan anaconda - ini akan bekerja dengan instalasi python
Saya telah meninggalkan jawaban asli di bawah ini, tetapi solusi ini (IMO) 100% lebih baik.
2014 jawabannya
Oke, jadi jawaban ini berfungsi untuk distribusi Python Anaconda 64bit dengan ArcGIS 10.1 64bit pada Windows 7 / Windows Server. Beberapa (atau semua) tips yang diberikan di bawah ini mungkin berlaku untuk distribusi jendela python lainnya. Pertama, instal anaconda, itu harus pergi ke direktori C: \ Anaconda. Centang kotak 'make system default python'. Mungkin memberi peringatan bahwa ada python lain yang diinstal, tetapi lanjutkan. Kemudian:
Setup Paths and Variabel Lingkungan
Hal pertama yang harus dilakukan adalah menyalin file DTBGGP64.pth ke direktori distribusi baru ( C: \ Anaconda ) dari C: \ Python27 \ ArcGISx6410.1 \ Lib-situs-paket . Penamaannya sangat acak, tetapi harus memiliki ekstensi .pth. Ini memungkinkan Anda untuk mengimpor ArcPy saat menggunakan distribusi baru.
Catatan: Lokasi file DTBGGP64.pth yang benar harus ada di direktori paket situs (mis. C: \ Anaconda \ Libs \ paket-situs ). Saya telah menemukan bahwa dengan beberapa versi Anaconda yang lebih lama, ia berfungsi jika duduk di direktori tingkat atas
Selanjutnya, variabel lingkungan harus diperiksa: Pada variabel sistem Path, jalur yang ada ke direktori python harus diganti dengan jalur baru. (misal C: \ Anaconda; C: \ Anaconda \ Scripts;) Ini akan memberitahu windows di mana direktori python default berada Pastikan variabel pengguna PYTHONPATH juga benar. Ini harus menunjuk ke pustaka yang ingin Anda gunakan yang tidak dijelaskan oleh file .pth atau diinstal dalam paket situs . Yaitu ini mungkin paket pengembangan Anda sendiri, atau paket seperti mapnik yang memiliki lokasi instalasi berbeda.
Periksa Pengaturan Registri
Pada beberapa mesin, hal di atas mungkin cukup untuk memastikan bahwa Anda dapat menggunakan arcpy dari python baru dan bahwa python dapat digunakan di dalam ArcGIS. Di komputer lain, Anda mungkin perlu memeriksa kunci registri. Kunci registri berikut memiliki pengaturan python:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ PythonPath
Seharusnya ada satu kunci dan nilainya harus C: \ Anaconda \ Lib; C: \ Anaconda \ DLLs
(Atau folder yang sesuai untuk instalasi python Anda)
HKEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore \ 2.7 \ InstallPath
Kuncinya adalah C: \ Anaconda
Anda mungkin menginstal versi python lain ... yang mana mengubah nomor versi di jalur di atas
HKEY_CLASSES_ROOT \ Python.CompiledFile \ DefaultIcon
Ini adalah lokasi file .ico yang akan digunakan untuk file .pyc
HKEY_CLASSES_ROOT \ Python.CompiledFile \ shell \ open \ command
Ini adalah perintah untuk mengeluarkan saat membuka file .pyc dari shell. Anda harus mengubah python.exe
jalur ke lokasi versi python yang Anda inginkan
HKEY_CLASSES_ROOT \ Python.File
Kunci-kunci di sini sama dengan kunci untuk Python.CompiledFile, kecuali bahwa itu berlaku untuk file .py. Sekali lagi, buat perubahan yang relevan. Mungkin memiliki kunci tambahan untuk 'Edit dengan IDLE' atau 'Edit dengan Pythonwin'. Sekali lagi, buat perubahan yang relevan sehingga jalur di tombol ini menunjuk ke versi python yang Anda inginkan.
HKEY_CLASSES_ROOT \ Python.NoConFile
Ini sama dengan untuk Python.File, tetapi harus menunjuk ke pythonw.exe
program yang sesuai.
HKEY_LOCAL_MACHINE \ SOFTWARE \ ESRI \ Python10.1
The PythonDir poin kunci untuk instalasi python untuk digunakan dalam ArcMap dll .. Anda mungkin ingin untuk ini untuk tetap sebagai instalasi python sebagai diinstal oleh ESRI, atau arahkan ke instalasi baru Anda. Ini mungkin memerlukan perubahan lain jika Anda menunjuk ArcMap untuk instalasi python baru. Ada mungkin ada masalah dengan versi paket (misalnya numpy) diinstal oleh distribusi baru. Saya belum pernah menemukan.
Untuk sebagian besar pekerjaan saya, ini tidak relevan karena saya biasanya ingin menggunakan python sendiri dan kadang-kadang memiliki akses ke arcpy. Saya jarang ingin menggunakan python dari dalam arcmap..Oleh karena itu saya telah melakukan sedikit pengujian pada langkah terakhir ini, tetapi tampaknya bekerja untuk semua yang saya coba sejauh ini.
Saya membayangkan bahwa prosesnya akan mirip untuk menginstal Python (x, y) dll.
Catatan lain
Isi file .pth adalah daftar lintasan yang menunjuk ke folder berikut dalam instalasi ArcGIS Anda: bin64, arcpy, ArcToolbox \ Scripts Sebagai contoh, file .pth saya berisi yang berikut ini:
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
Solusi saya adalah menyiapkan skrip startup yang menetapkan path berdasarkan pada lingkungan python yang Anda gunakan. Metode ini memiliki keuntungan (besar) bahwa Anda tidak memerlukan akses admin untuk menulis file .pth dalam instalasi python. Script ini dibuat untuk menggunakan Anaconda 32 bit dan 64 bit dan ArcGIS / arcpy.
sumber
Jika ada orang yang mencoba melakukan ini menggunakan ArcGIS Pro (yaitu dengan python 3 bukannya python 2):
Saya menggunakan spyder dalam paket anaconda. Cara saya menjalankan ini adalah dengan membuka Tools> Python Interpreter di Spyder, kemudian mengarahkan Spyder ke file propy.bat yang saat ini terletak di C: \ Program Files \ ArcGIS \ Pro \ bin \ Python \ Scripts \ propy.bat.
Ini mengaktifkan versi python yang benar di Spyder dan memungkinkan Anda untuk mengimpor arcpy.
sumber
Saya menggunakan kode berikut untuk menyiapkan Lingkungan Virtual yang terpisah , berisi arcpy dan dependensinya:
sumber