我目前在我的mac上安装了Python 2.6.2。我正在编写一个必须在Python 2.5.2上运行的脚本。所以我想编写一个python脚本,test专门针对2.5.2而不是2.6.2。
我在看virtualenv,但它似乎没有解决我的问题。我跑了python virtualenv.py TEST
做了一个TEST目录,但它里面有python 2.6。有没有办法让virtualenv使用不同版本的python而不是我的机器上安装的默认版本?另一种方法是使用#!
作为python脚本的第一行吗?我该怎么办?
答案 0 :(得分:9)
查看tox;它的设计就是为了做到这一点。
答案 1 :(得分:2)
您可以使用virtualenv设置具有不同python版本的沙盒环境。正如Kable所做的那样,安装2.5。你要测试的版本。然后创建您的虚拟环境:
virtualenv --p=python2.5 myapp
要获得干净的环境,您可以使用--no-site-packages开关和上面的命令。在尝试模拟新的全新设置时非常方便。现在激活你的virtualenv:
source myapp/bin/activate
如果你检查python版本,你现在应该得到版本2.5.x:
python -V
现在,您可以按照惯例将模块安装到虚拟环境中:
easy_install ...
pip ...
退出虚拟环境:
deactivate
希望这可能会有所帮助。
答案 2 :(得分:1)
您可以安装Python 2.5.2。
我在Lucid上安装了3个不同版本的Python,他们使用/bin/
下的不同链接,因此很容易调用特定版本
python - > python3 - > python3.1
python2 - > python2.7
的python2.5
答案 3 :(得分:0)
尝试#!/path/to/your/python/version
但请确保您从终端执行脚本,然后将其设为可执行文件:chmod 755 myscript.py
答案 4 :(得分:0)
使用' virtualenv' ,您可以在一台计算机上拥有不同的独立Python环境。您也可以在不同的python解释器版本之间随时切换。
什么是virtualenv?
虚拟环境是Python的独立工作副本,它允许您处理特定项目而无需担心影响其他项目。它支持Python的多个并排安装,每个项目一个。它实际上并没有安装Python的单独副本,但它确实提供了一种巧妙的方法来隔离不同的项目环境。
如何安装?
pip install virtualenv
为python 2.7创建虚拟环境:
root:~# which python2.7
/usr/bin/python2.7
root:~# which python3.4
/usr/local/bin/python3.4
您还可以使用您选择的Python解释器:
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.
要开始使用虚拟环境,需要激活它:
root:~# source Vpy27/bin/activate
当前虚拟环境的名称现在将显示在提示的左侧:
(Vpy27) root:~# python -V
Python 2.7.3
照常安装软件包,例如:
(Vpy27) root:~# pip install junos-eznc >> All pip installs done here, will be available only in this environment.
如果您暂时在虚拟环境中工作,可以将其停用:
(Vpy27) root:~# deactivate
为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
还有一种方法可以使用已有的站点包创建虚拟环境。