如何使用Python virtualenv

时间:2011-04-23 13:44:35

标签: python virtualenv

场景是:我在使用Python 2.7的Ubuntu 11上,我想运行支持Python 2.5 / 2.6的Mozilla JetPack和仅支持Python 2.5的Google App Engine。

请注意,删除Python 2.7并不是一个好主意,因为Ubuntu可能正在使用它。所以正确的方法是使用virtualenv。但是我完全迷失了它。我在 this guide

之后的/usr/local/python25中安装了Python 2.5

我试过

jiewmeng@JM:/usr/local/python25/bin$ ./python --version
Python 2.5.5
jiewmeng@JM:/usr/local/python25/bin$ ./python virtualenv /works/tmp/test
./python: can't open file 'virtualenv': [Errno 2] No such file or directory

然后下面的工作,但我将使用Python 2.7

jiewmeng@JM:/usr/local/python25/bin$ virtualenv /works/tmp/test
New python executable in /works/tmp/test/bin/python
Installing distribute.................................................................................................................................................................................done.
jiewmeng@JM:/usr/local/python25/bin$ cd /works/tmp/test/bin
jiewmeng@JM:/works/tmp/test/bin$ ls
activate  activate_this.py  easy_install  easy_install-2.7  pip  python
jiewmeng@JM:/works/tmp/test/bin$ ./python --version
Python 2.7.1+

此外,如何使用此版本的Python运行Mozilla JetPack或Google App Engine?对不起,我是Python(和Linux / Ubuntu)的新手

2 个答案:

答案 0 :(得分:15)

<强>概要

  • 首先cd到/usr/local/python25/bin
  • 下载Python2.5(setuptools-0.6c11-py2.5.egg
  • 的setuptools
  • 安装它(sh setuptools-0.6c11-py2.5.egg)。
  • 现在安装pip(easy_install pip)。
  • 使用pip(virtualenv等)安装virtualenvwrapperpip install v...
  • 配置WORKON_HOME以使virtualenv包装器正常工作(export WORKON_HOME = $HOME/.virtualenvs)。您可以使用您想要的任何其他目录(不仅仅是$ HOME / .virtualenvs)。只需确保使用完整路径。
  • 现在创建一个virtualenv(mkvirtualenv foobar)。
  • 切换到新的virtualenv(workon foobar)。
  • 现在使用pip install blah
  • 安装GAE,JetPack以及任何您想要的内容

为什么您的安装不起作用?

看起来你没有为Python2.5安装virtualenv。因此,这不起作用。

jiewmeng@JM:/usr/local/python25/bin$ ./python virtualenv /works/tmp/test

您可以在该目录中运行ls命令进行检查。我怀疑你不会在那里找到virtualenv文件。

然而这对你有用。

jiewmeng@JM:/usr/local/python25/bin$ virtualenv /works/tmp/test

因为它使用virtualenv文件作为系统默认的Python2.7。您可以查看which virtualenv并打开virtualenv脚本。你会看到#!将指向系统默认的python。

因此,在为Python 2.5创建virtualenv之前,需要为Python 2.5安装easy_install和pip。只需按照上述步骤操作即可。

答案 1 :(得分:2)

你不需要在virtualenv包装器之外做任何事情。只需使用--python=python2.5标志(查看virtualenv表单的手册页)。你安装它的版本并不重要,你只需要在虚拟环境中为python选择正确的可执行文件。

e.g。 mkvirtualenv --python=python2.5 --distribute python25如果python标志失败,可以在$ PATH中为python25添加符号链接(ln -s),或者在python标志上使用完整路径名。

此外,对于所有&#39; altinstall&#39;版本,单独的python和easy_install。例如:python2.5easy_install-2.5python2.6easy_install-2.6等。