镜像一个PyPI仓库#

开始之前#

您需要已经安装并配置了您的Repository实例。由于Repository的大小,配置一个具有足够磁盘空间的文件存储位置非常重要。如有必要,请参阅文件存储位置的要求

完整的PyPI镜像大约需要120 GB。

运行PyPI镜像命令#

要创建一个PyPI镜像:

anaconda-server-sync-pypi

此命令将所有位于pypi.python.org上的包加载到~pypi binstar用户账户中。

通过打开浏览器访问 http://your-anaconda-repo/pypi/~pypi 来验证命令是否成功运行。

注意:将your-anaconda-repo替换为您的Repository安装的URL。

自定义镜像#

可以通过创建配置文件来自定义镜像行为,例如 $PREFIX/etc/anaconda-server/mirror/pypi.yaml 并使用 --mirror-config 选项:

anaconda-server-sync-pypi --mirror-config /etc/binstar/mirrors/pypi.yaml

以下配置选项可用:

名称

描述

user

导入PyPI包时使用的本地用户。默认值:pypi

pkg_list

要镜像的软件包列表。只有列出的软件包会被镜像。如果设置了此项,blacklistwhitelist 设置将被忽略。默认值: []

whitelist

要镜像的软件包列表。只有列出的软件包会被镜像。如果列表为空,则检查所有软件包。默认值:[]

blacklist

要跳过的包列表。列出的包将被忽略。默认值:[]

latest_only

仅下载软件包的最新版本。 默认值:false

remote_url

PyPI镜像的URL。/pypi被附加以构建XML RPC API的URL,/simple用于简单索引,/pypi/{package}/{version}/json用于JSON API。默认值:https://pypi.python.org/

xml_rpc_api_url

XML RPC URL 的自定义值。如果存在此值,它将优先于使用 remote_url 构建的 URL。默认值:null

simple_index_url

简单索引URL的自定义值。如果存在此值,它将优先于使用remote_url构建的URL。默认值:null

use_xml_rpc

是否使用由PEP381指定的XML RPC API。如果设置为true,则使用XML RPC API来确定要检查的包。否则,脚本将回退到简单索引。如果XML RPC失败,则使用简单索引。默认值为true

use_serial

是否使用XML RPC API提供的序列号。仅检查自上次保存的序列号以来更新的包。如果设置为false,则检查所有PyPI包的更新。默认值:true

create_org

将镜像用户创建为组织而不是常规用户账户。所有超级用户都会被添加到组织的“所有者”组中。默认值:false

private

将镜像包保存为私有。默认值: false

示例:

whitelist:
  - requests
  - six
  - numpy
  - simplejson
latest_only: true
remote_url: http://pypimirror.local/
use_xml_rpc: true

配置 pip#

要配置 pip 使用这个新的镜像,请按如下方式编辑 /etc/pip.conf

[global]
index-url=https://pypi.anaconda.org/pypi/simple