2

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

我在看virtualenv,但它似乎并没有解决我的问题。我跑python virtualenv.py TEST了一个 TEST 目录,但里面有 python 2.6。有没有办法让 virtualenv 使用与我机器上安装的默认版本不同的 python 版本?是另一种使用#!作为python脚本第一行的方法吗?我该怎么做?

4

5 回答 5

11

检查毒物;它旨在做到这一点。

于 2010-11-29T07:38:16.347 回答
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

希望这可能会有所帮助。

于 2010-11-29T08:04:10.337 回答
1

您可以只安装 Python 2.5.2。

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

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

于 2010-11-29T07:42:29.683 回答
0

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

但请确保您从终端执行脚本,并事先使其可执行:chmod 755 myscript.py

于 2010-11-29T07:31:58.607 回答
0

使用“virtualenv”,您可以在一台机器上拥有不同的隔离 Python 环境。您也可以随时在不同的 python 解释器版本之间切换。

什么是虚拟环境?

虚拟环境是 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

还有一种方法可以使用现有的站点包创建虚拟环境。

于 2016-04-12T13:16:31.160 回答