virtualenv + apt-get confusion

时间:2012-12-31 02:12:37

标签: python virtualenv

我开始使用virtualenv,我有一个疑问,任何提示都会受到欢迎。

这是我的情景:

  1. 我激活了virtualenv并安装了一个包XXX(使用apt-get),在我的virtualenv / site-packages中部署了一些python东西。

  2. 停用virtualenv

  3. 运行apt-get upgrade XXX

  4. 在这种情况下,XXX的python内容会发生什么?它安装在全球网站包中?有什么东西可以打破吗?

    很抱歉,如果这是一个愚蠢的问题,但部署python包对我来说有点模糊:/

1 个答案:

答案 0 :(得分:5)

使用apt-get,程序包将始终在系统范围内安装,而不是在virtualenv中。这,无论virtualenv目前是否有效。

在您的情况下,这意味着程序包在系统范围内安装在1中,并且该安装在3中升级。

如果你想在virtualenv中安装一些东西,你可以越接近apt-get使用pip


示例:

virtualenv ENV
source ENV/bin/activate
pip install django 

Django现在安装在./ENV的virtualenv中,但不是系统范围内的。

相反,做:apt-get install python-django会在系统范围内安装它,但不会在virtualenv中安装。