Saya memiliki dua versi Python yang diinstal pada mesin saya (versi 2.6 dan 2.5). Saya ingin menjalankan 2.6 untuk satu proyek dan 2.5 untuk yang lain.
Bagaimana saya bisa menentukan yang ingin saya gunakan?
Saya bekerja pada Windows XP SP2.
Saya memiliki dua versi Python yang diinstal pada mesin saya (versi 2.6 dan 2.5). Saya ingin menjalankan 2.6 untuk satu proyek dan 2.5 untuk yang lain.
Bagaimana saya bisa menentukan yang ingin saya gunakan?
Saya bekerja pada Windows XP SP2.
Jawaban:
Menjalankan salinan Python yang berbeda semudah memulai executable yang benar. Anda menyebutkan bahwa Anda telah memulai instance python, dari baris perintah, hanya dengan mengetikpython
.
Apa yang dilakukan di bawah Windows, adalah menjaring %PATH%
variabel lingkungan, memeriksa file yang dapat dieksekusi, baik file batch ( .bat
), file perintah ( .cmd
) atau yang dapat dieksekusi lainnya (ini dikendalikan oleh PATHEXT
variabel lingkungan), yang cocok dengan nama yang diberikan. Ketika menemukan file yang benar untuk menjalankan file sedang dijalankan.
Sekarang, jika Anda telah menginstal dua versi python 2.5 dan 2.6, path akan memiliki kedua direktori mereka di dalamnya, sesuatu seperti PATH=c:\python\2.5;c:\python\2.6
tetapi Windows akan berhenti memeriksa path ketika menemukan kecocokan.
Yang perlu Anda lakukan adalah memanggil satu atau kedua aplikasi secara eksplisit, seperti c:\python\2.5\python.exe
atauc:\python\2.6\python.exe
.
Alternatif lainnya adalah membuat jalan pintas ke masing-masing python.exe
memanggil salah satu dari mereka python25
dan yang lain python26
; Anda bisa menjalankannya python25
di baris perintah.
Menambahkan dua solusi lagi ke masalah:
#! c:\[path to Python 2.5]\python.exe
- untuk skrip yang ingin dijalankan dengan Python 2.5
#! c:\[path to Python 2.6]\python.exe
- untuk skrip yang ingin dijalankan dengan Python 2.6
atau alih-alih menjalankan python
perintah jalankan perintah pylauncher (py
) menentukan versi Python yang Anda inginkan;
py -2.6
- versi 2.6 - versi
py -2
terbaru yang diinstal 2.x
py -3.4
- versi 3.4
py -3
- versi terbaru yang diinstal 3.x
virtualenv -p c:\[path to Python 2.5]\python.exe [path where you want to have virtualenv using Python 2.5 created]\[name of virtualenv]
virtualenv -p c:\[path to Python 2.6]\python.exe [path where you want to have virtualenv using Python 2.6 created]\[name of virtualenv]
sebagai contoh
virtualenv -p c:\python2.5\python.exe c:\venvs\2.5
virtualenv -p c:\python2.6\python.exe c:\venvs\2.6
maka Anda dapat mengaktifkan yang pertama dan bekerja dengan Python 2.5 seperti ini
c:\venvs\2.5\activate
dan ketika Anda ingin beralih ke Python 2.6 Anda lakukan
deactivate
c:\venvs\2.6\activate
c:\venvs\2.5\scripts\activate
. Ini pada Windows 10 jika itu membuat perbedaan. Selain itu, berfungsi seperti pesona, terima kasih.
Dari Python 3.3 dan seterusnya, ada peluncur Python resmi untuk Windows ( http://www.python.org/dev/peps/pep-0397/ ). Sekarang, Anda dapat menggunakan #!pythonX
untuk menentukan versi penerjemah yang diinginkan juga di Windows. Lihat lebih detail di komentar saya yang lain atau baca PEP 397.
Ringkasan: The py script.py
meluncurkan versi Python dinyatakan dalam #!
atau Python 2 jika #!
hilang. The py -3 script.py
meluncurkan Python 3.
.py
ekstensi. Peluncur itu sendiri diinstal ke dalam C:\Windows
yang sudah ada di PATH
. Dengan cara ini, PATH
variabel juga tidak perlu dimodifikasi.
Sesuai @alexander Anda dapat membuat satu set tautan simbolik seperti di bawah ini. Tempatkan mereka di suatu tempat yang termasuk dalam jalur Anda sehingga mereka dapat dengan mudah dipanggil
> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe
Selama c: \ bin atau di mana pun Anda menempatkannya berada di jalur Anda, kini Anda dapat pergi
> python25
mklink
hanya tersedia secara native di Windows Vista / 2008 +. Pada XP dan Server 2003 "hardlink" dapat dibuat sebagai gantinya menggunakan fsutil hardlink create <new filename> <existing filename>
dan menempatkan atau memindahkan <nama file baru> ke suatu tempat di jalur Anda. Namun, hardlink hanya berfungsi pada drive yang sama.
instal python
variabel lingkungan
PYTHON2_HOME: C:\Python27
PYTHON3_HOME: C:\Python36
Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
ganti nama file
pip
python2 -m pip install package
python3 -m pip install package
python
perintah akan membingungkan untuk OS.
Misalnya untuk tipe versi 3.6 py -3.6
. Jika Anda juga memiliki versi 32bit dan 64bit, Anda bisa mengetik py -3.6-64
atau py -3.6-32
.
py
dapat dieksekusi - apakah ini tambahan jendela saja? Apakah mungkin untuk memasukkan ini ke dalam skrip baris perintah lintas-platform yang ada di atas: #!/usr/bin/env python3
misalnya?
Ketika Anda menginstal Python, itu tidak akan menimpa instalasi lain dari versi utama lainnya. Jadi menginstal Python 2.5.x tidak akan menimpa Python 2.6.x, meskipun menginstal 2.6.6 akan menimpa 2.6.5.
Jadi Anda bisa menginstalnya. Kemudian Anda memanggil versi Python yang Anda inginkan. Sebagai contoh:
C:\Python2.5\Python.exe
untuk Python 2.5 di windows dan
C:\Python2.6\Python.exe
untuk Python 2.6 di windows, atau
/usr/local/bin/python-2.5
atau
/usr/local/bin/python-2.6
pada Windows Unix (termasuk Linux dan OS X).
Ketika Anda menginstal di Unix (termasuk Linux dan OS X) Anda akan mendapatkan python
perintah generik yang diinstal, yang akan menjadi yang terakhir Anda instal. Ini sebagian besar bukan masalah karena sebagian besar skrip akan secara eksplisit memanggil /usr/local/bin/python2.5 atau sesuatu hanya untuk melindungi dari itu. Tetapi jika Anda tidak ingin melakukan itu, dan Anda mungkin tidak dapat menginstalnya seperti ini:
./configure
make
sudo make altinstall
Perhatikan "altinstall" yang berarti akan menginstalnya, tetapi itu tidak akan menggantikan python
perintah.
Pada Windows Anda tidak mendapatkan python
perintah global sejauh yang saya tahu jadi itu bukan masalah.
C:\Python2.5
atau C:\Python2.6
direktori muncul di PATH
variabel lingkungan Anda , versi Python yang sesuai akan menjadi default kecuali Anda menimpanya dengan secara eksplisit menentukan jalur berbeda ke .exe yang ingin Anda gunakan.
Saya sangat merekomendasikan proyek pyenv-win .
Berkat kerja kirankotari , sekarang kami memiliki versi Windows pyenv.
Ini hack cepat:
C:\Users\Your name
)name_of_your_shortcut.lnk
(saya menggunakan p27.lnk
)cp c: \ python27 \ bin \ python.exe sebagai python2.7.exe
cp c: \ python34 \ bin \ python.exe sebagai python3.4.exe
semuanya ada di jalur sistem, pilih versi yang ingin Anda jalankan
C:\Users\username>python2.7
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>
C:\Users\username>python3.4
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
Menggunakan file batch untuk beralih, mudah dan efisien di windows 7. Saya menggunakan ini:
Dalam dialog variabel lingkungan (C: \ Windows \ System32 \ SystemPropertiesAdvanced.exe),
Di bagian variabel pengguna
menambahkan% pathpython% ke variabel lingkungan path
menghapus referensi ke jalur python
Dalam variabel sistem bagian
Saya membuat file batch untuk setiap instalasi python (exmple for 3.4 x64
Name = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-) hanya untuk mengingat.
Konten file =
Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin
setx PathPython %PathPython%
Untuk beralih antar versi, saya menjalankan file batch dalam mode admin.
!!!!! Perubahan ini efektif untuk jendela prompt perintah SUBSEQUENT yang DIBUKA. !!!
Jadi saya punya kontrol yang tepat untuk itu.
Cara termudah untuk menjalankan beberapa versi python di windows dijelaskan di bawah ini sebagai berikut: -
1) Unduh versi python terbaru dari python.org/downloads dengan memilih versi yang relevan untuk sistem Anda.
2) Jalankan penginstal dan pilih Tambahkan python 3.x ke path untuk menetapkan path secara otomatis dalam python 3 (Anda hanya perlu mengklik kotak centang). Untuk membuka python 2 installer python 2 Anda, pilih preferensi apa pun yang Anda inginkan tetapi hanya ingat untuk mengatur Tambahkan python.exe ke path ke Akan diinstal pada hard drive lokal , Sekarang cukup klik berikutnya dan tunggu sampai installer selesai.
3) Ketika kedua instalasi selesai. Klik kanan pada komputer saya - Buka properti - Pilih pengaturan sistem lanjutan - Buka variabel lingkungan - Klik baru di bawah Variabel sistem dan tambahkan variabel sistem baru dengan nama variabel sebagai PY_PYTHON dan tetapkan nilai variabel ini menjadi 3 . Sekarang klik OK dan Anda harus selesai.
4) Sekarang untuk menguji ini buka command prompt . Setelah Anda berada di sana ketik python atau py , itu akan membuka python3 .
5) Sekarang keluar dari python3 dengan mengetikkan exit () . Sekarang ketik py -2 itu harus membuka python 2.
Jika tidak ada yang berhasil, hidupkan ulang komputer dan jika masalahnya masih ada, copot semua dan ulangi langkah-langkahnya.
Terima kasih.
Anda dapat membuat lingkungan pengembangan python yang berbeda secara grafis dari Anaconda Navigator. Saya memiliki masalah yang sama ketika bekerja dengan versi python yang berbeda jadi saya menggunakan anaconda navigator untuk membuat lingkungan pengembangan python yang berbeda dan menggunakan versi python yang berbeda di setiap lingkungan.
Ini dokumentasi bantuan untuk ini.
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environmentments/
Menggunakan Editor Lingkungan Cepat, Anda dapat mendorong ke atas direktori instalasi Python yang diinginkan. Misalnya, untuk memulai python dari direktori c: \ Python27, pastikan direktori c: \ Python27 berada sebelum atau di atas direktori c: \ Python36 dalam variabel lingkungan Path. Dari pengalaman saya, executable python pertama yang ditemukan di lingkungan Path sedang dieksekusi. Sebagai contoh, saya telah menginstal MSYS2 dengan Python27 dan karena saya telah menambahkan C: \ MSYS2 ke path sebelum C: \ Python36, python.exe dari folder C: \ MSYS2 .... sedang dieksekusi.
Panggil saja executable yang benar
python
memasukkan shell coba python2.5
atau python2.6
. Saya bukan pengguna windows, tetapi pada unix / usr / bin / python biasanya merupakan alias untuk executable yang sepenuhnya memenuhi syarat, saya berasumsi python di windows diinstal dengan cara yang sama