我知道virtualenv,如果--no-site-packages在创建新的虚拟环境时没有传递参数,将链接/usr/local/lib/python2.7/site-packages(对于Python 2.7)的包与新创建的虚拟环境.在Ubuntu 12.04 LTS上,我有三个可以安装Python 2.7软件包的位置(使用默认的,Ubuntu提供的Python 2.7安装):
/usr/lib/python2.7/dist-packages:这有我的全局安装ipython,scipy,numpy,matplotlib - 如果它们不能通过scipy堆栈获得,我会发现单独安装(以及它们的所有依赖)会很困难和耗时./usr/local/lib/python2.7/site-packages:这是空的,我认为它将在Ubuntu上保持这种方式,除非我从源代码安装包./usr/local/lib/python2.7/dist-packages:这对天文学有非常重要的本地包装,特别是与PyRAF,STScI等相关的包装,单独安装非常困难和耗时.请注意,/usr/lib/python2.7/site-packages我的系统上不存在全局目录.另请注意,我的ipython,scipy等全局安装让我可以即时使用这些软件包,而无需每次都使用/激活虚拟环境.
当然,我现在想使用virtualenv在我的用户主目录中创建一个虚拟环境,我将为未来的项目提供/激活.但是,我希望这个虚拟环境在创建时链接/复制上面列表中位置(1)和(3)中的所有包.这样做的主要原因是我不想经历这个pip install过程(如果可能的话)为这个(也许是其他的)虚拟环境重新安装ipython,scipy,astro-packages等.
这是我的问题:
dist-packages目录中的包链接/复制到将来创建的虚拟环境中?dist-packages目录中更新我的scipy,ipython等全局安装时,这还会更新/更改我的虚拟环境使用的软件包(以及它在virtualenv创建期间最初获得的软件包)吗?/usr/local/lib/python2.7/dist-packages,还是/usr/local/lib/python2.7/site-packages?在此先感谢您的帮助!