答案 0 :(得分:9)
上一个答案结束了问题1,但忽略了问题2.
我见过的全局最佳实践:
首先,核心Python包,因为这些不会随着向后兼容的问题而改变,除非你升级主要版本,并且你会希望python升级中的任何安全修复程序自动应用到你的virtualenvs。
其次,easy_install或pip安装的软件包很容易安装到每个virtualenv中,但不会经常更改 - 例如,MySQLdb / psycopg和PIL。
其他所有内容都应该放入virtualenv的软件包中(我强烈建议使用pip需求文件和virtualenvwrapper,以便在其他计算机上轻松设置这些内容。
答案 1 :(得分:3)
默认情况下,新创建的虚拟环境可以访问全局site-packages目录,除非使用--no-site-packages创建。在激活某些环境的情况下调用easy_install(安装新软件包)将导致本地覆盖全局站点包中已存在的软件包(类似于继承)。当缺失时,环境将使用自己的本地软件包 - 全局软件包。