Saya menjalankan Windows dan shell / OS secara otomatis menjalankan Python berdasarkan pengaturan registri ketika Anda menjalankan program di baris perintah. Apakah ini akan rusak jika saya menginstal versi Python 2.x dan 3.x pada mesin yang sama?
Saya ingin bermain dengan Python 3 sementara masih bisa menjalankan skrip 2.x pada mesin yang sama.
/usr/bin/python
dan Python 3.3 at/usr/bin/python3
. Memberi nama berbeda untuk Python3's Pip dan IPython juga. Sangat berguna.Jawaban:
Solusi resmi untuk koeksistensi tampaknya adalah Peluncur Python untuk Windows , PEP 397 yang termasuk dalam Python 3.3.0 . Menginstal dump rilis
py.exe
danpyw.exe
peluncur ke%SYSTEMROOT%
(C:\Windows
) yang kemudian dikaitkan denganpy
danpyw
skrip.Untuk menggunakan peluncur baru (tanpa mengatur asosiasi Anda sendiri secara manual), biarkan opsi "Register Extensions" diaktifkan. Saya tidak begitu yakin mengapa, tetapi pada mesin saya itu meninggalkan Py 2.7 sebagai "default" (dari peluncur).
Menjalankan skrip dengan memanggil mereka langsung dari baris perintah akan merutekannya melalui peluncur dan mengurai shebang (jika ada). Anda juga dapat secara eksplisit menyebut peluncur dan penggunaan switch:
py -3 mypy2script.py
.Segala macam kebiasaan tampaknya berhasil
#!C:\Python33\python.exe
#!python3
#!/usr/bin/env python3
serta pelanggaran sewenang-wenang
#! notepad.exe
sumber
py.exe
seharusnya default untuk meluncurkan Py3 lebih dari Py2 ketika tidak ada versi yang ditentukan dan file tidak mengandung garis shebangwhere.exe pip
. Saya pikir installer Python 3 menginstalpip3
alias untuk pip-nya, tetapi Anda juga bisa melakukan sesuatu seperti yangpy -3 -m pip install requests
saya kira.Inilah pengaturan saya:
C:\Python34
(jalur instal default) dan ubah python.exe ke python3.exeC:\Python27\;C:\Python27\Scripts\;C:\Python34\;C:\Python34\Scripts\;
Sekarang di baris perintah Anda dapat menggunakan
python
untuk 2.7 danpython3
untuk 3.4.sumber
pip
di cli?pip
danpip3
masing - masing.Anda dapat menginstal keduanya.
Anda harus menulis ini di depan skrip Anda:
atau, pada akhirnya ...
Memperbarui
Solusi saya berfungsi sempurna dengan Unix, setelah pencarian cepat di Google , berikut adalah solusi Windows:
Hal yang sama: di depan skrip Anda.
sumber
Dari versi 3.3, Python memperkenalkan utilitas Launcher untuk Windows https://docs.python.org/3/using/windows.html#python-launcher-for-windows .
Jadi untuk dapat menggunakan beberapa versi Python:
sumber
py -3 filename.py
.Saya menggunakan 2.5, 2.6, dan 3.0 dari shell dengan satu skrip batch dari formulir:
Beri nama
pythonX.Y.bat
dan letakkan di suatu tempat di PATH Anda. Salin file untuk versi minor pilihan (yaitu yang terbaru) kepythonX.bat
. (Misalnyacopy python2.6.bat python2.bat
.) Kemudian Anda dapat menggunakannyapython2 file.py
dari mana saja.Namun, ini tidak membantu atau bahkan mempengaruhi situasi asosiasi file Windows. Untuk itu, Anda memerlukan program peluncur yang membaca
#!
baris, dan kemudian mengaitkannya dengan file .py dan .pyw.sumber
Ketika Anda menambahkan kedua untuk variabel lingkungan ada akan konflik karena kedua executable memiliki nama yang sama:
python.exe
.Cukup ganti nama salah satunya. Dalam kasus saya, saya menamainya menjadi
python3.exe
.Jadi ketika saya menjalankannya
python
akan menjalankanpython.exe
yang 2.7 dan ketika saya menjalankannyapython3
akan mengeksekusipython3.exe
yang 3.6sumber
Fatal error in launcher: Unable to create process using '"c:\users\<my_username>\appdata\local\programs\python\python37-32\python.exe" "C:\Users\<my_username>\AppData\Local\Programs\Python\Python37-32\Scripts\pip.exe" '
.Ini dia ...
winpylaunch.py
Saya baru saja mengetuk ini saat membaca utas ini (karena itulah yang saya butuhkan juga). Saya memiliki Piton 2.6.1 dan 3.0.1 di Ubuntu dan Windows. Jika tidak berhasil, Anda memposting perbaikan di sini.
sumber
sys.exit(process.returncode)
untuk menyebarkan status keluar dari skrip yang dipanggil ke pemanggil.Sejauh yang saya tahu Python lari dari commandline menggunakan variabel PATH yang bertentangan dengan pengaturan registri.
Jadi, jika Anda menunjuk ke versi yang benar pada PATH Anda, Anda akan menggunakannya. Ingatlah untuk memulai kembali prompt perintah Anda untuk menggunakan pengaturan PATH baru.
sumber
Instalasi Python biasanya dikaitkan
.py
,.pyw
dan.pyc
file dengan juru bahasa Python. Jadi Anda dapat menjalankan skrip Python dengan mengklik dua kali di Explorer atau dengan mengetik namanya di jendela baris perintah (jadi tidak perlu mengetikpython scriptname.py
, cukupscriptname.py
lakukan).Jika Anda ingin mengubah asosiasi ini secara manual, Anda dapat mengedit kunci ini di registri Windows:
Peluncur Python
Orang-orang telah bekerja pada peluncur Python untuk Windows: program ringan yang terkait dengan
.py
dan.pyw
file yang akan mencari garis "shebang" (mirip dengan Linux et al) pada baris pertama, dan meluncurkan Python 2.x atau 3.x sebagai yg dibutuhkan. Lihat posting blog "Peluncur Python untuk Windows" untuk detailnya.sumber
Coba gunakan Anaconda.
Menggunakan konsep lingkungan Anaconda, katakanlah Anda memerlukan Python 3 untuk belajar pemrograman, tetapi Anda tidak ingin menghapus lingkungan Python 2.7 Anda dengan memperbarui Python. Anda dapat membuat dan mengaktifkan lingkungan baru bernama "ular" (atau apa pun yang Anda inginkan), dan menginstal versi terbaru Python 3 sebagai berikut:
Ini lebih sederhana daripada kedengarannya, lihat halaman intro di sini: Memulai dengan Anaconda
Dan kemudian untuk menangani masalah spesifik Anda memiliki versi 2.x dan 3.x berjalan berdampingan, lihat: Mengelola Versi Python dengan Anaconda
sumber
Berikut ini cara menjalankan Python 2 dan 3 pada mesin yang sama
The Python Launcher untuk Windows tertanam dalam Python sejak versi 3.3, seperti yang dijanjikan pada 2011 ketika Stand sendiri pertama memulai debutnya:
Python Launcher untuk Windows
sumber
Berikut ini adalah cara yang rapi dan bersih untuk menginstal Python2 & Python3 di windows.
https://datascience.com.co/how-to-install-python-2-7-and-3-6-in-windows-10-add-python-path-281e7eae62a
Kasus saya: Saya harus menginstal Apache cassandra. Saya sudah menginstal Python3 di drive D: saya . Dengan banyak pekerjaan pengembangan dalam proses saya tidak ingin mengacaukan instalasi Python3 saya. Dan, saya butuh Python2 hanya untuk Apache cassandra.
Jadi saya mengambil langkah-langkah berikut:
C:\Python27;C:\Python27\Scripts
)python2 --version
) & Python 3 (python --version
).Jadi, instalasi Python3 saya tetap utuh.
sumber
Saya pikir ada opsi untuk mengatur asosiasi file windows untuk file .py di installer. Hapus centang dan Anda harus baik-baik saja.
Jika tidak, Anda dapat dengan mudah mengaitkan kembali file .py dengan versi sebelumnya. Cara paling sederhana adalah dengan mengklik kanan pada file .py, pilih "buka dengan" / "pilih program". Pada dialog yang muncul, pilih atau ramban ke versi python yang ingin Anda gunakan secara default, dan centang kotak "selalu gunakan program ini untuk membuka jenis file ini".
sumber
Anda harus memastikan bahwa variabel lingkungan PATH tidak mengandung kedua file python.exe (tambahkan yang saat ini Anda gunakan untuk menjalankan skrip setiap hari), atau lakukan seperti yang disarankan Kniht dengan file batch. Selain itu, saya tidak mengerti mengapa tidak.
PS: Saya sudah menginstal 2.6 sebagai python "primer" dan 3.0 sebagai python "play" . 2.6 disertakan dalam PATH . Semuanya bekerja dengan baik.
sumber
Sebelum saya menginstal keduanya secara bersamaan dengan berani, saya punya banyak pertanyaan. Jika saya memberi python apakah itu akan pergi ke py3 ketika saya ingin py2? pip / virtualenv akan terjadi di bawah py2 / 3?
Tampaknya sangat sederhana sekarang.
Instal secara membabi buta keduanya. Pastikan Anda mendapatkan jenis yang tepat (x64 / x32). Saat / setelah menginstal pastikan Anda menambahkan path ke variabel lingkungan Anda .
Ganti x pada perintah di atas untuk mengatur path.
Lalu buka kedua folder tersebut.
Navigasi ke
dan ganti nama pip ke pip3.
Jika pip3 sudah ada hapus pip. Ini akan memastikan bahwa hanya pip yang akan berjalan di bawah python2 . Anda dapat memverifikasi dengan:
Jika Anda ingin menggunakan pip dengan python3 maka gunakan saja
Anda juga dapat melakukan hal yang sama pada file python dan lainnya.
Bersulang!
sumber
Mudah-peasy, setelah menginstal kedua versi python menambahkan path ke variabel lingkungan; lihat . Kemudian pergi ke folder python 2 dan python 3 dan beri nama masing-masing ke python2 dan python3 seperti yang ditunjukkan dan . Sekarang dalam tipe cmd python2 atau python3 untuk menggunakan versi yang diperlukan Anda lihat .
sumber
Saya berasumsi demikian, saya memiliki Python 2.4, 2.5 dan 2.6 diinstal berdampingan di komputer yang sama.
sumber
Saya baru memulai dengan python sekarang. Saya membaca buku Zed Shaw "Learn Python the Hard Way" yang membutuhkan python versi 2.x tetapi saya juga mengambil kelas yang membutuhkan python 3.x
Jadi inilah yang saya lakukan.
"[LINGKUNGAN] :: SETENVIRONMENTVARIABLE (" PATH "," $ ENV: PATH; C: \ PYTHON27 "," USER ")" (tidak ada tanda kutip di luar)
SEKARANG untuk python 3.x
Sederhana, unduhan python 3.x dilengkapi dengan aplikasi python untuk windows. SO cukup sematkan aplikasi Python untuk Windows ke bilah tugas Anda, atau buat pintasan ke desktop dan Anda selesai!
Buka Python untuk Windows untuk 3.x
Buka Powershell untuk python 2.x
Saya harap ini membantu!
sumber
Hmm..Aku melakukannya sekarang dengan hanya mengunduh Python 3.6.5 untuk Windows di https://www.python.org/downloads/release/python-365/ dan memastikan bahwa peluncur akan diinstal. Kemudian, saya mengikuti instruksi untuk menggunakan python 2 dan python 3. Restart command prompt dan kemudian gunakan
py -2.7
untuk menggunakan Python 2 danpy
ataupy -3.6
untuk menggunakan Python 3. Anda juga dapat menggunakanpip2
untuk Python 2pip
danpip
untuk Python 3pip
.sumber
Saya memiliki masalah yang sama di mana saya ingin menggunakan python3 untuk sebagian besar pekerjaan tetapi diperlukan proA python2. SO, inilah yang saya lakukan.
Saya pertama kali membuat 3 variabel dalam variabel lingkungan pengguna sebagai berikut:
Sekarang saya menambahkan
ke variabel PATH. Jadi, pada dasarnya mengatakan bahwa apa pun yang mengandung "PYTHON_ACTIVE" ini adalah python aktif. Kami secara terprogram mengubah isi "PYTHON_ACTIVE" untuk mengganti versi python.
Berikut ini contoh skripnya:
Skrip ini menggunakan versi python sebagai input dan karenanya menyalin HOME_PYTHON27 atau HOME_PYTHON38 ke PYTHON_ACTIVE. Sehingga mengubah versi Python global.
sumber