Skip to content

Cloudflare PyPI Mirror

Published: at 21:06

Pyodide 是一个在 WebAssembly 中运行 Python 的工具库,使用 Micropip 通过 PyPI 来安装包。由于 WebAssembly 在浏览器内运行需要跨域和 PEP 691,但是清华的 tuna 又不支持 CORS 跨域。

PyPI 在中国大陆是无法正常访问的,但是有许多的 Mirror。清华、阿里云、腾讯云、华为云等不少网站都提供了镜像。这些镜像除了清华的 tuna,其他都不支持 JSON-based Simple API for Python (PEP 691)。

由于 WebAssembly 在浏览器内运行需要跨域和 PEP 691,但是清华的 tuna 又不支持 CORS 跨域。

所以在中国大陆可能没有 Micropip 可用的 PyPI 镜像。

基于这个背景,使用 Cloudflare 搭建了一个支持 PEP691 和 CORS 的 Mirror。

支持 Workers 或者 Snippets 都可以搭建,但各有优缺点:

Workers

优点:免费计划可用。

缺点:会产生很多 Worker 请求,可能超出免费计划后不可用或需要付费。

Snippets

优点:不产生 Worker 请求,支持大量使用。 缺点:Snippets 目前只有 Pro 以上计划使用,Free 不可用。

代码

对应代码已经开源,地址:

https://github.com/ccbikai/cloudflare-pypi-mirror

Cloudflare PyPI Mirror


Previous Post
使用 Cloudflare Snippets 搭建一个不限流量的 Docker 镜像
Next Post
Vite SSR 项目 Docker 镜像最小化打包方案