pypi如何注册(pypi源镜像工具bandersnatch)

Python部落组织翻译,禁止转载,欢迎转发,下面我们就来聊聊关于pypi如何注册?接下来我们就一起去了解一下吧!

pypi如何注册(pypi源镜像工具bandersnatch)

pypi如何注册

Python部落组织翻译,禁止转载,欢迎转发

用途

bandersnatch能够制作完整的pypi源镜像.

安装

下面的说明会把bandersnatch可执行文件放在放在一个virtualenv虚拟环境下面,虚拟环境中的相对路径为bandersnatch/bin/bandersnatch.

注意

bandersnatch需要Python2.7或者2.6

pip安装

下面这几条命令安装最新的稳定发布版

zc.buildout安装

下面命令安装当前的开发版,使用"hg up <version>"命令,然后重新运行buildout命令来选择一个指定版本.

配置

  1. 运行bandersnatch mirror -- 它会在/etc/bandersnatch.conf下为你创建一个空的配置文件.

  2. 按照你的需求修改/etc/bandersnatch.conf

  3. 重新运行命令bandersnatch mirror.它会为你构建一个镜像,同步当前pypi里面所有的软件包,大概300G(2016-10),这可能花费几天时间.

  4. 定期运行命令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

    分享
    投诉
    首页