Saya mengalami masalah kecil ini ketika saya mencari untuk mengakses instalasi python dari ArcGIS, QGIS, Anaconda (dikutip karena SciPy & NumPy datang dengan itu), dan versi 2.7 vs 3. Kadang-kadang, saya merasa lebih mudah untuk hanya masuk ke Windows ' Command Prompt
ke lakukan sedikit kerja cepat alih-alih membuka program GIS atau python IDE untuk mengakses prompt interaktif.
Alih - alih menavigasi ke setiap folder, mengatur pintasan, atau mengganti PATH
variabel lingkungan, saya ingin cara berbeda untuk mengakses setiap instalasi python melalui Command Prompt
.
Edit
Profesional GIS yang menggunakan python untuk pekerjaan mereka akhirnya harus mengakses setiap instalasi secara manual untuk mengakses fitur yang ada di dalamnya. Daripada menunggu sesuatu seperti ArcMap dimuat, umumnya lebih cepat untuk menekan winkey -r + cmd Anda dan mengetikkan python
Command Prompt Anda untuk memulai konsol python. Jika Anda ingin menggunakan ArcPy
untuk memproyeksi ulang shapefile, Anda perlu membuka konsol python Anda, yang terhubung dengannya ArcPy
. Jika Anda ingin menggunakan alat dari PyQGIS
karena Anda tidak memiliki lisensi ESRI yang sesuai, Anda perlu menemukan python.exe
yang terkait dengan modul-modul itu. Hal ini dapat menjadi sakit ketika Anda mencoba untuk melakukan pekerjaan di ArcPy
, PyQGIS
, NumPy
, atauSciPy
tanpa semua pustaka diinstal secara terpadu sebagai satu instalasi python.
Biasanya, Anda terikat oleh Path
variabel Anda di mana instalasi python adalah default Anda saat di Command Prompt
. Pertanyaan ini dan jawaban berikut terlihat untuk membahas bagaimana para profesional GIS mungkin dapat memanfaatkan beberapa instalasi python bersama dalam satu lingkungan. IDE Python menargetkan instalasi python tunggal dan memerlukan perubahan pengaturan untuk memanfaatkan yang berbeda. Sebagai contoh, PyScripter
instal saya menargetkan instalasi ArcGIS saya dari Python. Jadi, jika saya ingin menggunakan PyQGIS
modul saya , saya perlu membuka QGIS atau mengubah pengaturan PyScripter
.
Saat menulis modul / skrip lengkap, masuk akal untuk menargetkan satu per satu. Dengan begitu Anda mungkin mendapatkan semacam penyelesaian kode terjadi. Namun , ketika Anda baru menggunakan beberapa alat di setiap instalasi untuk memanipulasi data set, itu akan jauh lebih baik jika Anda bisa konsol python cepat sandal / instalasi dalam satu layar alias yang Command Prompt
.
Kepada mereka yang memilih untuk menutup / di luar topik ...
Meskipun ini jelas berlaku untuk apa pun yang dilampirkan bahasa python , untuk pengguna GIS yang miskin yang tidak mampu membeli ekstensi ESRI untuk alat analisis data, ini berfungsi sebagai cara bagi mereka untuk menyederhanakan hidup mereka. Seperti yang ditunjukkan beberapa jawaban, dapat menyesuaikan proses ini lebih lanjut, misalnya menambahkan argumen ke .cmd
file, berpotensi dapat sangat bermanfaat jika seseorang menjalankan proses kustom. Ada potensi bagi pengguna GIS / komputer yang lebih cerdas untuk dapat mengatur .cmd
file kustom untuk dengan cepat menjalankan proses tanpa harus melalui kerepotan berurusan dengan berbagai instalasi perangkat lunak IDE / GIS dll.
Satu-satunya downside untuk menjalankan konsol python di dalam Command Prompt
adalah hilangnya penyelesaian kode. Namun, jika Anda menjalankan sesuatu yang cukup, seperti arcpy.AddField_management()
, penyelesaian kode hanya akan menghalangi.
Jawaban:
Saya akan menawarkan alternatif yang menurut saya sedikit lebih bersih. Ini terinspirasi oleh kombinasi saran Josef dan pola umum pada sistem * nix.
Mulailah dengan membuat direktori. Direktori ini akan digunakan untuk menyimpan file "alias" untuk setiap instalasi. Jadi sesuatu seperti
C:\Python\aliases
atauC:\PythonAliases
akan berhasil.Selanjutnya buat skrip untuk setiap instalasi. Setiap skrip pada dasarnya alias salah satu instalasi Python yang perlu Anda rujuk dengan hanya memanggil executable-nya. Misalnya, konten akan terlihat seperti ini untuk instalasi QGIS:
Simpan dengan nama deskriptif ke dalam folder yang Anda buat, seperti
pyqgis.cmd
ataupyqgis.bat
.The
%*
melewati semua argumen yang diberikan kepada script ke dalam Python executable sebagai gantinya. Jadi Anda bisa melakukan ini:(
@
Simbol hanya mencegah Prompt Perintah agar tidak perlu mengulangi perintah.)Tambahkan direktori yang berisi skrip ini ke
PATH
. Sekarang Anda dapat memanggil mereka tanpa path lengkap:Ini memiliki beberapa keunggulan, menurut saya:
PATH
sekali. Mendapatkan instalasi baruPATH
atau menghapus yang lama adalah manajemen file yang sederhana.python2
ataupython3
dibin
direktori pada mesin * nix. Walaupun ini tidak persis sama, saya pikir itu cukup mirip sehingga akan masuk akal bagi seseorang mengetahui bahwa ini dilakukan pada sistem * nix.Saya tidak sepenuhnya puas dengan pengaturan ini, tetapi saya tidak berpikir Anda bisa melakukan lebih baik pada Windows.
sumber
Saya memutuskan untuk bermain - main dengan
System Variables
bagian dariEnvironment Variables
pengaturan untuk melihat apakah saya dapat membuatnya lebih mudah untuk mengakses setiap instalasi python saat di WindowsCommand Prompt
. Saya menemukan saya dapat menambahkan yang baruSystem Variable
dan menyebutnya dariCommand Prompt
untuk mengakses instalasi python apa pun yang saya inginkan.Beberapa contoh:
Variabel =
PyQGIS
Nilai ="C:\Program Files\QGIS Dufour\bin\Python.exe"
Saya meninggalkan tanda kutip ganda di sana sehingga saya tidak perlu mengutip spasi
Command Prompt
untuk menjaga seluruh string sebagai satu argumenVariabel =
Anaconda
Nilai =AnacondaDirectory\Python.exe
Bagaimana saya mengakses instalasi saya dari scipy / numpy / etc
Variabel =
Python3
Nilai =C:\Python34\Python.exe
Python 3 menyertakan peluncur yang memungkinkan Anda menentukan versi ... >>
py -3
untuk python 3 ... info di siniUntuk memanggil
System Variable
diCommand Prompt
:Saat Anda berada di
Command Prompt
, Anda dapat memanggil variabel Anda dengan mengetikkan%VariableName%
ke command prompt. Untuk setiap pemasangan python, ia akan menuju ke{Directory}\Python.exe
untuk membuka interpreter interaktif. Jika Anda tidak mengutip Nilai yang memiliki spasi, Anda perlu menambahkan kutipan di sekitar panggilan variabel Anda, mis."%VariableValueWithSpaces%"
. Tanpa tanda kutip, garis akan terbelah oleh spasi sehingga program Anda tidak akan mulai.Saya yakin mungkin ada cara yang lebih mudah untuk melakukan hal-hal, tetapi saya menemukan ini menjadi sedikit pengetahuan yang berguna jika Anda sangat suka menggunakan
Command Prompt
di Windows. Saya suka kemampuan untuk mengakses instalasi python individu hanya dengan memberikan nama variabel yang berbeda.sumber
@set PATH=C:\Python34\;%PATH%
. Kemudian dengan memasukkan python34 akan membuat python ini tersedia.Path
variabel Anda ?