我有几个需要类似依赖项的项目,我不希望每次都有pip出去和DL来自web的依赖项。例如,我使用的是norel-django软件包,如果我在系统范围内安装它会与我的标准django(rdbms版本)冲突。
有没有办法让我使用pip“重用”下载的依赖项?我是否需要DL源tar.bz2文件并创建类似于pip存档的文件夹结构?任何帮助将不胜感激。
由于
答案 0 :(得分:7)
将以下内容添加到$HOME/.pip/pip.conf
:
[global]
download_cache = ~/.pip/cache
这告诉pip在~/.pip/cache
中缓存下载,因此下次不需要再下载它们。
答案 1 :(得分:0)
看来virtualenv有一个virtualenv-clone
命令,或者virtualenvwrapper
可能吗?
无论如何,只需复制并粘贴虚拟环境目录,它就会更加复杂:
https://github.com/edwardgeorge/virtualenv-clone
此外,看来virtualenv有一个标志,有助于移动你的virtualenv。
http://www.virtualenv.org/en/latest/#making-environments-relocatable
来自virtualenv doc的 $ virtualenv --relocatable ENV
:
这将使一些由setuptools创建或分发的文件 使用相对路径,并将更改要使用的所有脚本 activate_this.py而不是使用Python的位置 口译员选择环境。
注意:在将任何软件包安装到软件包之后,必须运行此软件 环境。如果您使环境可重定位,则安装一个 新包,你必须再次运行virtualenv --relocatable。
此外,这不会使您的软件包跨平台。你可以搬家 目录周围,但它只能用于其他类似的 电脑。一些已知的环境差异可能导致 不兼容性:当一个平台时,不同版本的Python 使用UCS2作为其内部unicode表示和另一种用途 UCS4(一个编译时选项),像Windows一样明显的平台变化 与Linux,或英特尔与ARM,如果你有绑定到C的库 系统上的库,如果那些C库位于某个地方 不同(不同的版本,或不同的文件系统 布局)。
如果你使用这个标志创建一个环境,目前, 将隐含--system-site-packages选项。