当前位置:  开发笔记 > 编程语言 > 正文

Easy_install缓存下载的文件

如何解决《Easy_install缓存下载的文件》经验,为你挑选了2个好方法。

有没有办法配置easy_install以避免在安装失败时再次下载文件?



1> ionelmc..:

pip(http://pypi.python.org/pypi/pip/)是easy_install工具的直接替代品,可以做到这一点.

只需运行easy_install pip并将环境变量设置为PIP_DOWNLOAD_CACHE您希望pip存储文件的路径.请注意,缓存不适用于从源代码存储库(例如svn/git/hg/bzr)签出的依赖项.

然后使用pip install而不是easy_install


需要注意的一点是`pip cant install binaries(_.egg files_)`.这在Windows平台上至关重要.

2> Jan Vlcinsky..:

这是我使用pip的解决方案,管理甚至安装二进制包并可在Linux和Windows上使用.根据要求,它将限制从PyPi下载到最小值,并作为额外的奖励,在Linux上,它允许加速重复安装包通常需要编译到几分之一秒.

安装只需几步,但我觉得值得做.

创建pip配置文件

创建pip配置文件(在linux上:〜/ .pip/pip.conf,在Windows%HOME%\ pip\pip.ini上)

我的内容有这样的内容:

[global]
download-cache = /home/javl/.pip/cache
find-links = /home/javl/.pip/packages

[install]
use-wheel = yes

[wheel]
wheel-dir = /home/javl/.pip/packages
填充cache目录 - 自动进行

cache目录将得到缓存从PyPI将每次下载的数据的版本,PIP试图从PyPI中得到一些包.它很容易得到它(不需要特别小心),但请注意,从点的角度来看,这些只是从PyPi下载的兑现数据,而不是包,所以如果你使用一个选项--no-index,它将无法工作.

pip install --download填充packages目录

packages目录是地方把真正的包文件.例如,对于我最喜欢的包plac,我会这样做:

$ pip install --download~/.pip/packages plac

并且plac包文件将出现在该目录中.您甚至可以使用-r requirements.txt文件一次为多个包执行此操作.

这些包甚至可以使用$ pip install --no-index .

防止在Linux上重复编译相同的包

例如,lxml包需要补充,下载和编译可能需要45秒到几分钟.使用滚轮格式,您可以在这里节省很多.

安装wheel工具,如果还没有:

$ pip install wheel

创建轮子lxml(假设,您已经设法lxml在过去安装- 它需要安装系统中的一些库):

$ pip wheel lxml

这过度下载,编译,但最终导致lxml whl文件在packgagesdir中.

自那时候起

$ pip install lxml

甚至更快

$ pip install --no-index lxml

将花费一小部分,因为它使用轮式格式化包.

从Window setup exe包中准备轮包

(注意:这甚至可以在Linux机器上准备,没有编译,只有一些从exe文件重新打包成whl.)

    从pypi下载包的exe形式,例如:

    $ wget https://pypi.python.org/packages/2.7/l/lxml/lxml-3.2.3.win32-py2.7.exe#md5=14ab978b7f0a3382719b65a1ca938d33 $ dir lxml-3.2.3.win32-py2.7 .可执行程序

    将其转换为 whl

    $ wheel convert lxml-3.2.3.win32-py2.7.exe $ dir lxml-3.2.3.win32-py2.7.exe lxml-3.2.3-cp27-none-win32.whl

    测试一下:

    $ pip install lxml

要么

$ pip install --no-index lxml

应该很快.

请注意,这wheel convert可以对鸡蛋格式化的包进行完全相同的转换.

让我们easy_installsetup.py install重用你的packages目录

easy_install并且$ python setup.py install似乎没有提供下载缓存,但允许使用我们在我们的packages目录中的包.

为此,请编辑以下两个工具的配置文件:

在Linux上: $HOME/.pydistutils.cfg

在Windows上: %HOME%\pydistutils.cfg

在我的情况下,我在这里/home/javl/.pydistutils.cfg:

[easy_install]
find_links = /home/javl/.pip/packages

pip install当pip尝试安装包,声明依赖于其他包时,此配置甚至可以帮助某些调用情况.因为它委托这个任务来setup.py调用,没有.pydistutils.cfg配置它会从PyPi下载文件.

不幸的是,在这种情况下不支持滚轮格式(据我所知).

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有