Domanda

Al momento ho Python 2.6.2 installato sul mio Mac. Sto scrivendo uno script che deve essere eseguito su Python 2.5.2. Quindi voglio scrivere uno script python, e la prova è specificamente contro la 2.5.2 e NON 2.6.2.

I stava guardando virtualenv, ma non sembra risolvere il mio problema. Ho eseguito python virtualenv.py TEST che ha fatto una dir TEST, ma aveva Python 2.6 in esso. C'è un modo per rendere virtualenv utilizzare una versione diversa di pitone di ciò che è installato di default sulla mia macchina? È un altro modo per utilizzare il #! come la prima riga dello script python? Come potrei farlo?

È stato utile?

Soluzione

Si può solo installare un Python 2.5.2.

Ho 3 versioni differenti Python installato sul mio Lucid e usano collegamenti diversi sotto /bin/ quindi è facile chiamare la versione specifica

Python -> python3 -> python3.1
python2 -> python2.7
python2.5

Altri suggerimenti

tox ; è stato progettato per fare esattamente questo.

È possibile impostare un ambiente sandbox con versioni di Python diversi utilizzando virtualenv. Come Kable ha fatto, installare la 2.5. versione che si desidera eseguire il test contro. Quindi creare il vostro ambiente virtuale:

virtualenv --p=python2.5 myapp

Per ottenere un ambiente pulito è possibile utilizzare la --no-sito-pacchetti passare con il comando precedente. Molto utile quando si cerca di simulare una nuova, l'installazione fresca. Ora attivare il tuo virtualenv:

source myapp/bin/activate

Se si seleziona la versione di Python si dovrebbe ora ottenere la versione 2.5.x:

python -V

Ora è possibile installare moduli come volete nel vostro ambiente virtuale nel modo consueto:

easy_install ... 
pip ...

Per uscire l'ambiente virtuale:

deactivate

Spero che questo può essere di aiuto.

try #!/path/to/your/python/version

Ma assicuratevi di eseguire lo script dal terminale, e renderlo eseguibile prima di mano: chmod 755 myscript.py

Utilizzando 'virtualenv' si può avere differenti ambienti Python isolati su una singola macchina. Inoltre è possibile passare qualsiasi-tempo tra le diverse versioni interprete Python.

Qual è virtualenv?

un ambiente virtuale è una copia di lavoro isolata di Python che consente di lavorare su un progetto specifico, senza preoccuparsi di influenzare gli altri progetti. Esso consente a più installazioni side-by-side di Python, uno per ogni progetto. In realtà non installare copie separate di Python, ma fornisce un modo intelligente per mantenere differenti ambienti di progetto isolati.

Come installare?

pip install virtualenv

Per creare un ambiente virtuale per Python 2.7:

root:~# which python2.7

/usr/bin/python2.7

root:~# which python3.4

/usr/local/bin/python3.4

È possibile anche utilizzare un interprete Python a scelta:

root:~# virtualenv -p /usr/bin/python2.7 Vpy27

Running virtualenv with interpreter /usr/bin/python2.7

New python executable in /root/Vpy27/bin/python2.7

Also creating executable in /root/Vpy27/bin/python

Installing setuptools, pip, wheel...done.

Per iniziare a utilizzare l'ambiente virtuale, ha bisogno di essere attivato:

root:~# source Vpy27/bin/activate

Il nome dell'ambiente virtuale corrente apparirà sulla sinistra del prompt:

(Vpy27) root:~# python -V
Python 2.7.3

Installa pacchetti come al solito, per esempio:

(Vpy27) root:~# pip install junos-eznc    >> All pip installs done here, will be available only in this environment.

Se hai finito di lavorare in un ambiente virtuale per il momento, è possibile disattivarlo:

(Vpy27) root:~# deactivate   

Per creare un ambiente virtuale per Python 3.4:

root:~# which python3.4

/usr/local/bin/python3.4

root:~# virtualenv -p /usr/local/bin/python3.4 Vpy34

root:~# source Vpy34/bin/activate

(Vpy34) root:~# python -V
Python 3.4.4

V'è anche un modo per creare un ambiente virtuale con site-packages già disponibili.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top