跳转到主要内容

PyPI缓存代理

项目描述

使用proxypypi设置PyPI(https://pypy.python.org/)的透明缓存代理,

  1. 以使您的安装对Internet/PyPI问题具有鲁棒性,

  2. 显著加快安装速度(第一次之后),

  3. 防止安装已被作者从发行版中删除的包的问题,

  4. 允许在防火墙内部安装包,其中执行安装的主机没有互联网访问权限,

  5. 并允许托管和安装私有包。

当代理询问一个它不知道的包时,它会自动去获取该包的文件下载列表,重写所有引用(PyPI和外部)以使其看起来是本地的。当请求那些现在本地的包文件引用之一时,它会执行文件内容的后台获取并向pip请求提供新的文件数据(从而在非常短的超时期间保持该请求处于活动状态)。

为什么还要另一个呢?

那里有大量的PyPI类似实现和“代理”服务器。这个代理与几乎所有其他代理(除了devpi-server)都不同,因为它会自动将包下载文件从互联网重定向到本地服务器。它与devpi-server的不同之处在于它没有外部数据库要求(只需要文件系统),使得部署更加简单(至少对我而言)。

使用方法

proxypypi的设置需要

  1. “pip install proxypypi”

  2. 切换到您想要缓存文件的目录

  3. proxypypi run

有一些命令行参数(请参阅“proxypypi -h”)允许控制一些运行时行为。值得注意的是“-d”,它可以配置要缓存的目录。

此外,代理可以在后台运行,在这种情况下,您需要提供三个额外的命令行参数:“-P”(PID文件)、“-l”(日志文件)和“-o”(控制台输出文件),并使用一个守护进程控制命令而不是“run”。请参阅“proxypypi -h”以获取命令。

一旦运行,您可以通过在pip命令行中使用“-i”参数包括代理来使用代理进行pip安装。

pip install -i http://proxy_host:proxy_port/simple/ package_to_install

任何未缓存的包将被下载到缓存中,安装将按正常继续。

私有(或手动下载)包

添加到由proxypypi提供的包目录根部的包分发文件将与它代理请求的那些一起提供。如果您愿意,可以创建以包命名的子目录,但这不是必要的。

升级缓存包

这尚未完成 :-)

版本历史

  • 1.0 第一次公开发布

  • 1.0.1 清理处理守护进程文件路径

  • 1.2 处理不存在的外部文件(问题1,感谢George Hickman)

  • 1.2.1 修复名称冲突问题

  • 1.2.2 删除缺失外部文件的部分下载

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

proxypypi-1.2.2.tar.gz (11.3 kB 查看哈希值)

上传时间

由支持