virtualenv中的包,必须用 pip 、easy_install进行安装吗?
我有几个包 只能用源码安装,或者是 yum 安装
virtualenv中的包,必须用 pip 、easy_install进行安装吗?
我有几个包 只能用源码安装,或者是 yum 安装
@尹伟铭说的很详细,我这里再补充一点好了
pip的管理要比easy_install方便很多,所以我基本选择pip去安装
而且如果有requirement的话,直接pip install -r requirements.txt就可以安装所有的了
3 回答3.1k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
4 回答1.9k 阅读
3 回答1.7k 阅读
1 回答1.4k 阅读✓ 已解决
使用 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 下。