Skip to content

如何自建一个 pip 源加速代理

步骤1. 安装与配置 bandersnatch

首先,需要在你的服务器上安装 bandersnatch。可以通过 pip 来安装:

bash
pip install bandersnatch

安装完成后,需要配置 bandersnatch。默认的配置文件路径是 /etc/bandersnatch.conf,如果没有这个文件,你可以通过以下命令生成一个默认配置文件:

bash
bandersnatch mirror --config /etc/bandersnatch.conf --init

编辑 /etc/bandersnatch.conf 文件,根据你的需求进行配置。你可能需要修改以下配置:

  • directory: 设置镜像存储的目录。
  • master: 设置 PyPI 的主镜像地址(通常不需要修改)。
  • workers: 设置并行下载的线程数。
  • stop-on-error: 是否在遇到错误时停止。

步骤2. 同步 PyPI 数据

配置完成后,可以通过以下命令开始同步 PyPI 的数据:

bash
bandersnatch mirror

这个过程可能需要一些时间,具体取决于你的网络速度和服务器性能。

步骤3. 配置Web服务器

同步完成后,你需要配置一个 Web 服务器来提供 HTTP(S) 访问。可以使用 Nginx 或 Apache 等 Web 服务器。以下是一个简单的 Nginx 配置示例:

nginx
server {
    listen 80;
    server_name your.pip.mirror;

    location / {
        root /path/to/your/mirror;
        autoindex on;
    }
}

/path/to/your/mirror 替换为你在 bandersnatch 配置文件中指定的镜像存储目录。

步骤4. 配置客户端使用自建源

在客户端机器上,修改或创建 ~/.pip/pip.conf 文件,添加以下内容:

ini
[global]
index-url = http://your.pip.mirror/simple

http://your.pip.mirror 替换为你的服务器地址。

注意事项

  • 确保你的服务器有足够的存储空间,因为完整的 PyPI 镜像可能需要数百GB的空间。
  • 定期运行 bandersnatch mirror 命令以保持镜像的更新。
  • 考虑使用 HTTPS 来保护数据传输安全。

通过以上步骤,你就可以自建一个 pip 源加速代理,帮助加速 Python 包的下载。