我开始使用virtualenv,我有一个疑问,任何提示都会受到欢迎。
这是我的情景:
我激活了virtualenv并安装了一个包XXX(使用apt-get),在我的virtualenv / site-packages中部署了一些python东西。
停用virtualenv
运行apt-get upgrade XXX
在这种情况下,XXX的python内容会发生什么?它安装在全球网站包中?有什么东西可以打破吗?
很抱歉,如果这是一个愚蠢的问题,但部署python包对我来说有点模糊:/
答案 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中安装。