Avevo installato due versioni di Python sul mio computer (versioni 2.6 e 2.5). Voglio eseguire 2.6 per un progetto e 2.5 per un altro.
Come posso specificare quale voglio usare?
Sto lavorando su Windows XP SP2.
Avevo installato due versioni di Python sul mio computer (versioni 2.6 e 2.5). Voglio eseguire 2.6 per un progetto e 2.5 per un altro.
Come posso specificare quale voglio usare?
Sto lavorando su Windows XP SP2.
Risposte:
Eseguire una copia diversa di Python è facile come avviare l'eseguibile corretto. Dici che hai avviato un'istanza di Python, dalla riga di comando, semplicemente digitando python.
Ciò che fa ciò in Windows, è di trascinare la %PATH%variabile d'ambiente, controllando la presenza di un eseguibile, file batch ( .bat), file di comando ( .cmd) o qualche altro eseguibile da eseguire (questo è controllato dalla PATHEXTvariabile d'ambiente), che corrisponde al nome assegnato. Quando trova il file corretto da eseguire, il file viene eseguito.
Ora, se hai installato due versioni di Python 2.5 e 2.6, il percorso avrà entrambe le loro directory al suo interno, qualcosa come PATH=c:\python\2.5;c:\python\2.6Windows smetterà di esaminare il percorso quando trova una corrispondenza.
Quello che devi veramente fare è chiamare esplicitamente una o entrambe le applicazioni, come c:\python\2.5\python.exeo c:\python\2.6\python.exe.
L'altra alternativa è quella di creare una scorciatoia per il rispettivo python.exechiamante uno di loro python25e l'altro python26; puoi quindi semplicemente eseguire python25sulla tua riga di comando.
Aggiunta di altre due soluzioni al problema:
#! c:\[path to Python 2.5]\python.exe- per gli script che si desidera eseguire con Python 2.5
#! c:\[path to Python 2.6]\python.exe- per gli script che si desidera eseguire con Python 2.6
o invece di eseguire il pythoncomando esegui pylauncher command ( py) specyfing quale versione di Python desideri;
py -2.6- versione 2.6
py -2- ultima versione installata 2.x
py -3.4- versione 3.4
py -3- ultima versione installata 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]
per esempio
virtualenv -p c:\python2.5\python.exe c:\venvs\2.5
virtualenv -p c:\python2.6\python.exe c:\venvs\2.6
allora puoi attivare il primo e lavorare con Python 2.5 in questo modo
c:\venvs\2.5\activate
e quando vuoi passare a Python 2.6 lo fai
deactivate
c:\venvs\2.6\activate
c:\venvs\2.5\scripts\activate. Questo è su Windows 10 se questo fa la differenza. A parte questo, funziona come un fascino, grazie.
Da Python 3.3 in poi, c'è il launcher Python ufficiale per Windows ( http://www.python.org/dev/peps/pep-0397/ ). Ora puoi usare il #!pythonXper determinare la versione desiderata dell'interprete anche su Windows. Vedi maggiori dettagli nel mio altro commento o leggi PEP 397.
Riassunto: I py script.pylanci la versione di Python indicato in #!o Python 2 se #!è mancante. I py -3 script.pylanci il Python 3.
.pyestensione. Il launcher stesso è installato in C:\Windowsquello che è già in PATH. In questo modo, anche la PATHvariabile non deve essere modificata.
Come per @alexander puoi creare una serie di collegamenti simbolici come di seguito. Mettili da qualche parte che è incluso nel tuo percorso in modo che possano essere facilmente invocati
> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe
Finché c: \ bin o dovunque tu li abbia inseriti è sul tuo percorso ora puoi andare
> python25
mklinkè disponibile solo nativamente in Windows Vista / 2008 +. Su XP e Server 2003 è possibile creare un "collegamento" invece di utilizzare fsutil hardlink create <new filename> <existing filename>e inserire o spostare il <nuovo nome file> in un punto del percorso. I collegamenti fisici funzionano solo sulla stessa unità, tuttavia.
installa python
variabile d'ambiente
PYTHON2_HOME: C:\Python27PYTHON3_HOME: C:\Python36Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;rinomina file
seme
python2 -m pip install packagepython3 -m pip install packagepythoncomando sarebbe confuso con il sistema operativo.
Ad esempio per il tipo di versione 3.6 py -3.6. Se hai anche versioni a 32 e 64 bit, puoi semplicemente digitare py -3.6-64o py -3.6-32.
pyeseguibile - è un'aggiunta solo per Windows? È possibile incorporarlo in uno script da riga di comando multipiattaforma che ha in alto: #!/usr/bin/env python3ad esempio?
Quando installi Python, non sovrascriverà altre installazioni di altre versioni principali. Quindi l'installazione di Python 2.5.x non sovrascriverà Python 2.6.x, sebbene l'installazione 2.6.6 sovrascriverà 2.6.5.
Quindi puoi semplicemente installarlo. Quindi chiami la versione di Python che desideri. Per esempio:
C:\Python2.5\Python.exe
per Python 2.5 su Windows e
C:\Python2.6\Python.exe
per Python 2.6 su Windows o
/usr/local/bin/python-2.5
o
/usr/local/bin/python-2.6
su Windows Unix (inclusi Linux e OS X).
Quando installi su Unix (inclusi Linux e OS X) otterrai un pythoncomando generico installato, che sarà l'ultimo che hai installato. Questo non è per lo più un problema in quanto la maggior parte degli script chiamerà esplicitamente /usr/local/bin/python2.5 o qualcosa solo per proteggerlo. Ma se non vuoi farlo, e probabilmente non puoi installarlo in questo modo:
./configure
make
sudo make altinstall
Nota "altinstall" che significa che lo installerà, ma non sostituirà il pythoncomando.
Su Windows non ottieni un pythoncomando globale per quanto ne so, quindi non è un problema.
C:\Python2.5o C:\Python2.6appare nella PATHvariabile di ambiente, la versione corrispondente di Python diventerà quella predefinita a meno che non la si ignori specificando esplicitamente un percorso diverso da .exe che si desidera utilizzare.
Consiglio vivamente il progetto pyenv-win .
Grazie al lavoro di kirankotari , ora abbiamo una versione Windows di Pyenv.
Ecco un trucco rapido:
C:\Users\Your name)name_of_your_shortcut.lnk(Io uso p27.lnk)cp c: \ python27 \ bin \ python.exe come python2.7.exe
cp c: \ python34 \ bin \ python.exe come python3.4.exe
sono tutti nel percorso di sistema, scegli la versione che vuoi eseguire
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.
>>>
Utilizzando un file batch per passare, facile ed efficiente su Windows 7. Uso questo:
Nella finestra di dialogo delle variabili di ambiente (C: \ Windows \ System32 \ SystemPropertiesAdvanced.exe),
Nella sezione variabili utente
aggiunto% pathpython% alla variabile d'ambiente path
rimosso qualsiasi riferimento ai percorsi di Python
Nella sezione variabili di sistema
Ho creato file batch per ogni installazione di Python (esempio per 3,4 x64
Nome = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-) solo per ricordare.
Contenuto del file =
Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin
setx PathPython %PathPython%
Per passare da una versione all'altra, eseguo il file batch in modalità amministratore.
!!!!! Le modifiche sono effettive per la finestra del prompt dei comandi SUBSEQUENT APERTA. !!!
Quindi ho il controllo esatto su di esso.
Il modo più semplice per eseguire più versioni di Python su Windows è descritto di seguito come segue: -
1) Scarica le ultime versioni di python da python.org/downloads selezionando la versione pertinente per il tuo sistema.
2) Esegui il programma di installazione e seleziona Aggiungi python 3.x al percorso per impostare automaticamente il percorso in python 3 (devi solo fare clic sulla casella di controllo). Per python 2 apri il tuo programma di installazione di python 2, seleziona le preferenze che desideri, ma ricorda di impostare Aggiungi python.exe al percorso su Verrà installato sul disco rigido locale , Ora fai clic su Avanti e attendi che l'installazione finisca.
3) Quando entrambe le installazioni sono complete. Fai clic con il tasto destro del mouse sul mio computer - Vai a proprietà - Seleziona impostazioni di sistema avanzate - Vai a variabili di ambiente - Fai clic su Nuovo in Variabili di sistema e aggiungi una nuova variabile di sistema con nome variabile come PY_PYTHON e imposta questo valore variabile su 3 . Ora fai clic su OK e dovresti aver finito.
4) Ora per provare questo aprire il prompt dei comandi . Una volta entrato, digita python o py , dovrebbe aprire python3 .
5) Ora esci da python3 digitando exit () . Ora digita py -2 dovrebbe aprire python 2.
Se nulla di tutto ciò funziona, riavvia il computer e se il problema persiste, disinstalla tutto e ripeti i passaggi.
Grazie.
È possibile creare diversi ambienti di sviluppo Python graficamente da Anaconda Navigator. Ho avuto lo stesso problema mentre lavoravo con diverse versioni di Python, quindi ho usato Anaconda Navigator per creare diversi ambienti di sviluppo Python e ho usato diverse versioni di Python in ogni ambiente.
Ecco la documentazione di aiuto per questo.
https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/
Utilizzando Rapid Environment Editor puoi spingere in alto la directory dell'installazione Python desiderata. Ad esempio, per avviare python dalla directory c: \ Python27, assicurarsi che la directory c: \ Python27 sia prima o sopra la directory c: \ Python36 nella variabile d'ambiente Path. Dalla mia esperienza, viene eseguito il primo eseguibile python trovato nell'ambiente Path. Ad esempio, ho installato MSYS2 con Python27 e da quando ho aggiunto C: \ MSYS2 al percorso precedente a C: \ Python36, python.exe dalla cartella C: \ MSYS2 .... è in esecuzione.
Basta chiamare l'eseguibile corretto
pythonentrare nella shell provare python2.5o python2.6. Non sono un utente di Windows, ma su unix / usr / bin / python di solito è un alias dell'eseguibile completo, presumo che Python in Windows sia installato in modo simile