如何在Ubuntu上正确安装多个非软件包Distribute / virtualenv / pip生态系统?

我正在Ubuntu中开发Python应用程序。 我想设置一个Distribute / virtualenv / pip生态系统来独立于任何系统Python包管理我的Python包(我在Synaptic中管理,或者我让系统为我管理它们)。

我可以安装python-setuptools,python-virtualenv和python-pip系统包,并以我的快乐方式,但我也希望能够获得最新/特定版本的Distribute,virtualenv和pip。 这些没有PPA,所以我必须手动安装它们。

最后的复杂情况是,我希望能够为多个版本的Python执行此操作。 也就是说,为python2.6设置一个生态系统,为python设置另一个生态系统,为python3设置另一个生态系统,或者为chrooted 32位Python设置另一个生态系统。

我猜这个过程会是这样的:

  • 使用Python X将我自己的Distribute副本安装到我的主文件夹中的某个位置
  • 使用indie Distribute,easy_install pip
  • 使用indie pip,安装virtualenv
  • 使用indie virtualenv,创建虚拟环境
  • 激活虚拟环境,安装包
  • 重复Python Y,Z和Q.

我在寻找哪些安装/配置选项?

virtualenvwrapper做了你要求的大部分或全部。 它基于此处的流量和stackoverflow非常受欢迎。 自Precise / 12.04起,它已经在Ubuntu中打包。

virtualenvwrapper是Ian Bicking的virtualenv工具的一组扩展。 扩展包括用于创建和删除虚拟环境以及管理开发工作流的包装器,使得一次处理多个项目更容易,而不会在其依赖项中引入冲突。

有关示例,请参阅StackOverflow上的此答案 。 在您的情况下,您似乎正在寻找这个virtualenvwrapper命令: mkvirtualenv --python=PYTHON_EXE (使用特定的Python可执行文件制作virtualenv)。

最后,我们需要协调一致地审查和更新Python包装并考虑特定于平台的用例,因此您可能需要考虑Python包装用户指南中的后续进展。

  • 使用Package Manager安装所需的任何Python版本(python3,python2.6等)
  • 从PyPI下载最新版本的virtualenv .tar.gz
  • 遵循此系统无关的过程来创建安装了pip和Distribute的虚拟环境。 (链接包含一个特定于Ubuntu的脚本,也可以在其他Linux上运行。)