所以,我想今年开始使用virtualenv.我喜欢no-site-packages选项,这很好.但是我想知道如何在每个virtualenv中安装某些软件包.例如,假设我想将django安装到每个virtualenv中...这是可能的,如果是这样,怎么样?buildout会解决这个问题吗?
好吧,它不是django,更像是django应用程序...我不介意在每个virtualenv中安装一个版本的django ...我只是想知道是否有一些'no-site-packages'的中间选项
我知道你在哪里使用no-sites-option.我想使用pip freeze来生成需求列表,并且不希望在站点包中有很多额外的错误.我还需要使用多个版本的django,因为我有遗留项目我没有升级(一些旧的svn checkout(pre1.0),一些1.0,以及一些新的svn checkout).在全局站点包中安装Django并不是一个真正的选择.
相反,我有一个带有发行版的django文件夹和几个不同的svn版本,只有符号链接到本地站点包中的相应版本.为了便于使用,我链接到与环境相同级别的本地站点包,然后链接到相应的django目录和我需要的任何其他"系统"样式包(通常只是PIL).所以:
$ virtualenv pyenv $ ln -s ./pyenv/lib/python2.5/site-packages ./installed $ ln -s /usr/lib/python2.5/site-packages/PIL ./installed $ ln -s /opt/django/django1.0svn/trunk/django ./installed
现在以下工作:
$ source pyenv/bin/activate $ python > import django > import PIL