我已经在使用 pip 和 virtualenv(实际上有时仍然更喜欢通过 SVN 存储库进行组织良好的组合,明智地使用 svn:externals 和动态 sys.path)。
但是这次对于新的服务器安装,我想以正确的方式做事。
所以我去了pip 安装页面,它说:
使用 pip 的推荐方法是在 virtualenv 中,因为每个 virtualenv 都自动安装了 pip。这不需要 root 访问权限或修改您的系统 Python 安装。[...]
然后我转到virtualenv 安装页面,它建议:
您可以使用 pip install virtualenv 安装 virtualenv,或者使用 pip install virtualenv==dev 安装最新的开发版本。您还可以使用 easy_install [...]
当然,pip 应该取代easy_install :)
当然,他们都解释了所有替代的安装方式。
但是……应该先走哪一个? 我是否应该支持系统范围的点子?
我看到一个需要思考的主要原因,但可能还有其他原因
- 我是否想为该盒子的所有用户提供便利,或者这是一个针对运行某些服务的单个用户的服务器?
如果我希望每个人都有一个可用的虚拟环境,我可能只安装一个系统范围的 pip(例如,使用 ubuntusudo aptitude install python-pip
然后使用它来安装 virtualenv sudo pip install virtualenv
)。
编辑另一个需要考虑的原因:virtualenvwrapper安装说明(但不是文档)说:
注意 为了使用 virtualenvwrapper,您必须单独安装 virtualenv。
不完全确定“单独”是什么意思(我从未注意到)。
否则,应该先走哪一个,这真的有影响吗?
有关的:
最接近的问题(和答案)是以下第一个(特别是参见@elarson 答案),第二个看起来过于复杂:
- 在系统范围内安装 pip 和 virtualenv 的官方“首选”方式是什么?
- 为 Python 安装 pip、virtualenv 和分发的正确方法是什么?
- 使用 pip 和 virtualenv 逐步设置 python?
- 默认情况下,系统 PIP 而不是 virtualenv PIP?
但我觉得这一切都无法完整地回答我的问题:系统范围与本地,但 pip 或 virtualenv 也应该先行(以及为什么他们将每个人发送给另一个人开始!!!)