Skip to main content

说一说将 MarkItDown 运行在浏览器中只有中国大陆程序员会遇到的一个问题Pyodide 是一个在 WebAssembly 中运行 Python 的工具库,使用 Micropip 通过 PyPI 来安装包

  1. 说一说将 MarkItDown 运行在浏览器中只有中国大陆程序员会遇到的一个问题

    Pyodide 是一个在 WebAssembly 中运行 Python 的工具库,使用 Micropip 通过 PyPI 来安装包。

    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 GitHub - ccbikai/cloudflare-pypi-mirror: Cloudflare PyPI Mirror
    ❤️ 2 👍 2
1px