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