virtualenv中的包,必须用 pip 、easy_install进行安装吗?

新手上路,请多包涵

virtualenv中的包,必须用 pip 、easy_install进行安装吗?
我有几个包 只能用源码安装,或者是 yum 安装

阅读 11.2k
2 个回答
✓ 已被采纳新手上路,请多包涵

使用 pip / easy_install 是为了能够良好的管理起来你的包,这类似deb之流。

之所以需要用 VirtualEnv,关键的目的是把你当前开发/生产的 Python 环境和其他的 Python 环境隔离开来。例如你的 Proj1 需要用到 LibA 的版本1.0,而你的 Proj2 需要用到LibA的2.0,如果不加以区分,那么就会可能造成冲突。
在 VirtualEnv 中,每一个 VirtualEnv 的环境,都是隔离的,需要的包等都是单独的,你可以认为这是一个沙盒(SandBox),这时候 pip / easy_install 等运行时候依赖的 Python 也是隔离的,既 $VENV_HOME/bin/python 而非 /usr/bin/python。

一般的,yum / apt 安装的会安装在系统的路径中,针对 Python, 则是 Global 的 PYTHONPATH。很难做到隔离。
而从源代码安装的,一般的会根据你的运行时 Python 命令进行隔离。也就是如果你启用了 VirtualEnv (source $VENV_HOME/bin/activate)后,从源码安装的也会在这个 venv 下。

@尹伟铭说的很详细,我这里再补充一点好了

pip的管理要比easy_install方便很多,所以我基本选择pip去安装

而且如果有requirement的话,直接pip install -r requirements.txt就可以安装所有的了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
101 新手上路
子站问答
访问
宣传栏