我目前在Mac上安装了Python 2.6.2。我正在编写一个必须在Python 2.5.2上运行的脚本。因此,我想编写一个Python脚本,并且测试专门针对2.5.2而不是2.6.2。

我看着Virtualenv,但这似乎并不能解决我的问题。我跑了 python virtualenv.py TEST 这制作了测试dir,但其中有python 2.6。有没有一种方法使Virtualenv使用与计算机上安装的默认值不同的Python版本?是使用的另一种方法 #! 作为Python脚本的第一行?我该怎么做?

有帮助吗?

解决方案

您只需安装Python 2.5.2。

我在清醒上安装了3个不同版本的Python,它们在下面使用不同的链接 /bin/ 因此很容易调用特定版本

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

其他提示

查看 毒品;它旨在完全做到这一点。

您可以使用Virtualenv设置具有不同python版本的沙盒环境。正如Kable所做的那样,安装2.5。您要测试的版本。然后创建您的虚拟环境:

virtualenv --p=python2.5 myapp

为了获得一个干净的环境,您可以使用上面的命令使用-no-No-site包装开关。试图模拟新的新鲜设置时非常方便。现在激活您的Virtualenv:

source myapp/bin/activate

如果您检查Python版本,您现在应该获得2.5.x版本:

python -V

现在,您可以按照通常的方式在虚拟环境中安装模块:

easy_install ... 
pip ...

退出您的虚拟环境:

deactivate

希望这可能有帮助。

尝试 #!/path/to/your/python/version

但是请确保您从终端执行脚本,并在手动之前使其可执行: chmod 755 myscript.py

使用 “ 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

还有一种使用已经可用的网站包装来创建虚拟环境的方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top