PyPI缓存代理
项目描述
使用proxypypi设置PyPI(https://pypy.python.org/)的透明缓存代理,
以使您的安装对Internet/PyPI问题具有鲁棒性,
显著加快安装速度(第一次之后),
防止安装已被作者从发行版中删除的包的问题,
允许在防火墙内部安装包,其中执行安装的主机没有互联网访问权限,
并允许托管和安装私有包。
当代理询问一个它不知道的包时,它会自动去获取该包的文件下载列表,重写所有引用(PyPI和外部)以使其看起来是本地的。当请求那些现在本地的包文件引用之一时,它会执行文件内容的后台获取并向pip请求提供新的文件数据(从而在非常短的超时期间保持该请求处于活动状态)。
为什么还要另一个呢?
那里有大量的PyPI类似实现和“代理”服务器。这个代理与几乎所有其他代理(除了devpi-server)都不同,因为它会自动将包下载文件从互联网重定向到本地服务器。它与devpi-server的不同之处在于它没有外部数据库要求(只需要文件系统),使得部署更加简单(至少对我而言)。
使用方法
proxypypi的设置需要
“pip install proxypypi”
切换到您想要缓存文件的目录
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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 72783899ddee7913a657d3ae6f668a2a6f05434602daa7ab5d49fab34392c0c1 |
|
MD5 | fd4b6bd49a769e54b76885d2677ad493 |
|
BLAKE2b-256 | 752deae11d68cd9e1e01eea95fea2f51d76782a8dba3fda10904b6646962d6cd |