镜像 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