pypi如何注册(pypi源镜像工具bandersnatch)
Python部落组织翻译,禁止转载,欢迎转发,下面我们就来聊聊关于pypi如何注册?接下来我们就一起去了解一下吧!
pypi如何注册
Python部落组织翻译,禁止转载,欢迎转发
用途
bandersnatch能够制作完整的pypi源镜像.
安装
下面的说明会把bandersnatch可执行文件放在放在一个virtualenv虚拟环境下面,虚拟环境中的相对路径为bandersnatch/bin/bandersnatch.
注意
bandersnatch需要Python2.7或者2.6
pip安装
下面这几条命令安装最新的稳定发布版
zc.buildout安装
下面命令安装当前的开发版,使用"hg up <version>"命令,然后重新运行buildout命令来选择一个指定版本.
配置
运行bandersnatch mirror -- 它会在/etc/bandersnatch.conf下为你创建一个空的配置文件.
按照你的需求修改/etc/bandersnatch.conf
重新运行命令bandersnatch mirror.它会为你构建一个镜像,同步当前pypi里面所有的软件包,大概300G(2016-10),这可能花费几天时间.
定期运行命令bandersnatch mirrror进行增量更新.
web服务器
配置你的Web服务器,把一个路径映射到镜像的web/子目录下.对于nginx,配置大概是这样
注意,将nginx返回的页面编码设置为utf-8是一个好主意.即便你不设置,index页面也能显示,只不过人眼看的话会有一些乱码.
如果你的路径中有unicode字符,让web服务器以utf-8编码去查询路径.nginx默认就是这样的,但是不确定别的服务器是否如此.
定时任务
你需要设置一个定时任务,来让镜像自动同步.如果你制作的是一个公共使用的源,你还需要另一个定时任务来把访问信息同步回主pypi.
下面是一个配置文件/etc/cron.d/bandersnatch的样例
这里假设你已经安装了logger, 它能把命令的输出转化成系统日志记录.
维护
除了同步的软件包以外,bandersnatch在本地存储的状态数据并不多.通常情况下,同步出错你就再运行一次bandersnatch,它就会自动修复上次运行的错误.
如果你删除了状态文件,那下下次运行的时候bandersnatch就要重新从pypi同步每个软件包的状态
全量同步比较耗时,花费时间多少取决于pypi主服务器的性能,网络延时和带宽.
英文原文:https://bitbucket.org/pypa/bandersnatch/overview
译者:诗书塞外
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com