Question

J'ai actuellement Python 2.6.2 installé sur mon mac. Je suis en train d'écrire un script qui doit être exécuté sur Python 2.5.2. Donc, je veux écrire un script python, et le test est spécifiquement contre et pas 2.6.2 2.5.2.

je regardais virtualenv, mais il ne semble pas résoudre mon problème. J'ai couru python virtualenv.py TEST qui a fait un répertoire TEST, mais il avait python 2.6 en elle. Y at-il un moyen de faire virtualenv utiliser une autre version de python que ce qui est installé par défaut sur ma machine? Est une autre façon d'utiliser le #! comme la première ligne du script python? Comment puis-je faire cela?

Était-ce utile?

La solution

Vous pouvez simplement installer un Python 2.5.2.

J'ai 3 versions Python installé sur mon Lucid et ils utilisent différents liens sous /bin/ il est donc facile d'appeler la version spécifique

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

Autres conseils

Consultez tox ; il est conçu pour faire exactement cela.

Vous pouvez configurer un environnement sandbox avec différentes versions de Python en utilisant virtualenv. Comme Kable a fait, installez le 2.5. version que vous souhaitez tester contre. Ensuite, créez votre environnement virtuel:

virtualenv --p=python2.5 myapp

Pour obtenir un environnement propre, vous pouvez utiliser le --no-site-packages passer la commande ci-dessus. Très pratique lorsque vous essayez de simuler une nouvelle configuration fraîche. Maintenant, activez votre virtualenv:

source myapp/bin/activate

Si vous vérifiez la version python vous devriez maintenant obtenir la version 2.5.x:

python -V

Maintenant, vous pouvez installer des modules que vous le souhaitez dans votre environnement virtuel de la manière habituelle:

easy_install ... 
pip ...

Pour quitter votre environnement virtuel:

deactivate

Espérons que cela peut être utile.

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

Mais assurez-vous d'exécuter le script à partir du terminal, et de le rendre exécutable avant la main: chmod 755 myscript.py

Utilisation virtualenv vous pouvez avoir différents environnements Python isolés sur une seule machine. vous pouvez également passer tout temps entre les différents python interprète versions.

Qu'est-ce virtualenv?

Un environnement virtuel est une copie de travail isolé de Python qui vous permet de travailler sur un projet spécifique sans souci d'affecter d'autres projets. Il permet à plusieurs installations côte à côte de Python, un pour chaque projet. Il n'installe des copies séparées de Python, mais il ne fait pas de fournir une façon intelligente de garder différents environnements de projets isolés.

Comment installer?

pip install virtualenv

Pour créer un environnement virtuel pour python 2.7:

root:~# which python2.7

/usr/bin/python2.7

root:~# which python3.4

/usr/local/bin/python3.4

Vous pouvez également utiliser un interpréteur Python de votre choix:

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.

Pour commencer à utiliser l'environnement virtuel, il doit être activé:

root:~# source Vpy27/bin/activate

Le nom de l'environnement virtuel actuel apparaît maintenant sur la gauche de l'invite:

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

Installer des packages, comme d'habitude, par exemple:

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

Si vous avez fini de travailler dans l'environnement virtuel pour le moment, vous pouvez le désactiver:

(Vpy27) root:~# deactivate   

Pour créer un environnement virtuel pour 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

Il y a aussi un moyen de créer un environnement virtuel avec déjà disponible site-packages.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top