【发布时间】:2011-04-11 04:40:31
【问题描述】:
当前 Python 工作流程
我的 Python 2.7 站点包(framework Python install on Mac OS X)中安装了 pip、distribute、virtualenv 和 virtualenvwrapper。在我的~/.bash_profile 我有这条线
export PIP_DOWNLOAD_CACHE=$HOME/.pip_download_cache
这给出了如下的工作流程:
$ mkvirtualenv pip-test
$ pip install nose # downloaded and installed from PyPi
$ pip install mock # downloaded and installed from PyPi
$ mkvirtualenv pip-test2
$ pip install nose # installed from pip's download cache
$ pip install mock # installed from pip's download cache
问题
由于我没有下载以前安装在另一个 virtualenv 中的软件包,因此此工作流程可以节省时间和带宽。但是,它不会节省磁盘空间,因为每个包都将安装到每个 virtualenv 中。因此,我想知道:
- 问题 #1 是否对此工作流程进行了修改,让我可以通过让多个 virtualenvs 引用一个 未安装在我的 Python 2.7 站点中的 Python 包来节省磁盘空间 -包?
我尝试过使用 add2virtualenv,它是 virtualenvwrapper 的一部分。虽然这“将指定目录添加到当前活动 virtualenv 的 Python 路径”,但它不会添加在 virtualenv/bin 目录中找到的任何可执行文件。因此,以下将失败:
$ mkvirtualenv pip-test3
$ add2virtualenv ~/.virtualenvs/pip-test/lib/python2.7/site-packages/nose/
$ nosetests # Fails since missing ~/.virtualenvs/pip-test3/bin/nosetests
-
问题 #2 我是否遗漏了
add2virtualenv的工作方式? - 问题 #1 改述是否有比 add2virtualenv 更好的方法允许多个 virtualenvs 引用我的 Python 2.7 站点包中未安装的一个 Python 包?
- 问题 #3 如果有一种方法可以将共享 Python 包安装到多个 virtualenv 中,与将 Python 包单独安装到每个 virtualenv 中相比,是否存在性能损失?
- 问题 #4 我是否应该放弃节省磁盘空间并坚持当前的工作流程?
【问题讨论】:
标签: python virtualenv pip virtualenvwrapper