ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Pyodide CLI 完整指南:pyodide 命令体系、核心子命令与外部扩展生态

Pyodide CLI 完整指南:pyodide 命令体系、核心子命令与外部扩展生态 科学计算开发工具【免费下载链接】pyodidePyodide is a Python distribution for the browser and Node.js based on WebAssembly项目地址https://gitcode.com/gh_mirrors/py/pyodide点击查看免费下载Pyodide 是基于 WebAssembly 的 Python 发行版可运行于浏览器与 Node.js而pyodideCLI 则是其背后整套构建、打包与虚拟环境工具的统称由pyodide-build包提供。本文以官方 CLI 参考文档为骨架结合本仓库源码与变更记录系统讲解pyodide命令的构成方式、核心子命令、可扩展机制以及配套的 Pyodide Python 解释器命令行用法帮助读者掌握从安装、构建到打包发布的完整命令行工作流。pyodide CLI 概览一个命令多套子命令pyodideCLI 采用 Click 框架组织命令树入口对象由 pyodide_cli.app:click_object 定义并通过 Sphinx 的.. click::指令把完整命令树渲染进官方文档因此文档中展示的每一个命令、参数与选项都直接来自pyodide_cli.app中注册的 Click 命令对象:nested: full表示递归展开全部嵌套子命令。该 CLI 的构成遵循核心 外部扩展的模式核心命令由pyodide-build包定义覆盖构建、虚拟环境、配置查询等构建系统功能外部扩展命令由独立分发包以 pip 安装后自动注册例如 pyodide-pack 提供的pyodide pack用于将 Pyodide 应用打包为可分发的产物。这种设计的直接结果是文档页面 docs/usage/api/pyodide-cli.md 本身不逐条列出全部命令而是把命令列表交给pyodide-build在文档构建时动态生成读者安装pyodide-build后即可用pyodide --help查看本机完整的命令树。安装 pyodide CLIpyodide命令随pyodide-build分发包一起安装推荐使用 pip 或 uvpip install pyodide-build # 或 uv pip install pyodide-build安装完成后即可直接调用pyodide命令查看帮助信息pyodide --help需要注意的是CLI 是构建与打包工具链而在命令行里直接运行 Pyodide Python则属于另一套机制详见下文Pyodide Python CLI一节。核心子命令解析从本仓库的文档与变更记录可以还原出pyodide-build当前提供的主要子命令。以下命令均以本仓库实际内容为准。pyodide build从多种来源构建包pyodide build是构建单个 wheel 包的核心命令并带有面向不同输入来源的子命令changelog命令作用pyodide build从当前目录中的源代码构建 wheelpyodide build pypi从 PyPI 构建或获取单个包pyodide build source构建当前源码目录等价于pyodide buildpyodide build url从 URL 构建或获取包支持 tgz、tar.gz、zip 或 wheel常用选项对应版本演进见 changelog--outdir指定输出目录早期版本曾用--output-directory现统一为--outdir以对齐 pypa/build--exports控制.so文件的导出符号用于替代旧版--exports行为changelog--config-setting向构建后端传递配置项changelog--build-dependencies构建时一并构建依赖-r requirements.txt从一个 requirements.txt 文件批量构建多个包changelog。pyodide build构建出的 wheel 使用 Pyodide 专属的 wheel 标签例如pyodide_2024_0_wasm32见 changelog这正是它能在 Emscripten/WASM 环境下被 micropip 识别安装的关键。pyodide build-recipes按配方批量构建当需要按 recipe配方构建一批包时使用pyodide build-recipes它取代了旧版pyodide-build buildallchangelogpyodide build-recipes numpy, scipy, toolz, attrs --recipe-dir pyodide-recipes/packages --install要点对应 docs/development/building-from-sources.md列出包的依赖会被自动一并构建包名必须与pyodide-recipes/packages下的目录名完全一致且区分大小写支持 meta-package 标签tag:core、tag:min-scipy-stack、tag:library、tag:rust、tag:pyodide-test等支持用*构建全部包用!pkgname前缀排除指定包micropip总是被自动包含构建并发数可自动检测changelog。不安装依赖的构建由独立子命令pyodide build-recipes-no-deps承担--no-deps选项已移除见 changelog。此外还有--metadata-files选项用于额外注入元数据文件changelog。pyodide venv创建 Pyodide 虚拟环境pyodide venv用于创建可在本机运行的 Pyodide Python 虚拟环境docs/usage/cli.mdpyodide venv .venv-pyodide早期版本在部分平台上如 Fedora 等 platlibdir 不为 lib 的系统存在兼容问题现已修复changelog若用 uv 安装pyodide-build需保证uv pip install pip先安装了 pip否则虚拟环境创建会失败docs/usage/cli.md。pyodide config查询构建配置pyodide config输出构建 Pyodide 时使用的配置变量changelog便于脚本和工具读取 Pyodide 的路径、版本等信息。历史版本曾出现多余输出、额外打印等问题均已修复changelog、changelog、changelog因此在脚本中解析其输出是可靠的做法。pyodide create-zipfile目录打包pyodide create-zipfile将目录打包为 zip 文件。该命令默认隐藏hidden属于面向内部工具而非终端用户的功能changelog。pyodide py-compile预编译字节码pyodide py-compile对 wheel 或 zip 文件执行 py_compile把.py编译为.pyc也可以作用于包含多个 wheel/zip 的目录若目录内含repodata.json其中的路径与校验和也会被同步更新changelog。pyodide skeleton生成构建配方pyodide skeleton pypi根据 PyPI 上的包自动生成构建 recipe取代了旧命令pyodide-build mkpkgchangelog、changelog。扩展生态pip 可安装的外部子命令pyodideCLI 的命令树并非固定封闭外部 Python 包可以通过注册 Click 命令来为pyodide增加子命令安装后即可直接使用。官方文档明确提到的示例是pyodide pack由 pyodide-pack 提供是 Pyodide 的包打包器bundler用于把应用及其依赖打包成可部署的产物docs/usage/api/pyodide-cli.md。使用方式即常规安装pip install pyodide-pack pyodide pack --help这种插件式设计意味着pyodide --help的完整输出取决于本机安装了哪些扩展包这也是官方文档采用动态生成命令树.. click:::nested: full来呈现 CLI 的原因。配套工具Pyodide Python CLI与构建工具链pyodide相互配合的还有另一个命令行入口——Pyodide Python 解释器python它是原生 Python CLI 的直接替代品docs/usage/cli.mdpython -c some command python file.py python -m some.module其适用场景主要是测试与实验也可借助 uv/pip 为打包目的安装 Pyodide Python 包。需要注意两点不沙箱该解释器直接访问原生文件系统执行不受沙箱隔离平台要求支持 Linux 与 macOS暂无 Windows 支持且要求 Node.js 22docs/usage/cli.md。三种安装方式GitHub Releases下载pyodide-core-vv.vv.vv.tar.bz2并解压其中包含python命令Pyodide venv安装pyodide-build后用pyodide venv .venv-pyodide创建uv 直接安装docs/usage/cli.mduv python install cpython-3.14.2-emscripten-wasm32-musl uv venv .venv-pyodide -p cpython-3.14.2-emscripten-wasm32-musl在该环境中安装包时需指向 Pyodide 的包索引uv pip install --no-build --extra-index-url https://index.pyodide.org/314.0.0/ --index-strategy unsafe-best-match若希望永久生效可写入uv.tomlno-build true index-strategy unsafe-best-match [[index]] url https://index.pyodide.org/314.0.0/或写入pyproject.tomltool.uv.no-build true tool.uv.index-strategy unsafe-best-match [[tool.uv.index]] url https://index.pyodide.org/314.0.0/需要留意这些配置会作用于所有使用 uv 的环境若不想影响原生 Python 虚拟环境应仅在 Pyodide 专用环境或独立配置目录中启用。命令体系的演进脉络从本仓库 changelog 可以看到pyodideCLI 仍在持续收敛与重构理解演进方向有助于避免踩到过时用法pyodide-build buildall→pyodide build-recipes随后--no-deps又拆分为独立子命令pyodide build-recipes-no-depschangelogpyodide-build mkpkg→pyodide skeleton pypichangelogpyodide build的--output-directory统一为--outdir以对齐 pypa/build旧参数名已进入弃用时间表docs/project/deprecation-timeline.md构建输出目录等路径类选项被pyodide config查询能力覆盖便于脚本化集成。因此在查阅资料或编写脚本时应优先以pyodide --help及本文档docs/usage/api/pyodide-cli.md为准而非旧版博客或过时参数。小结pyodideCLI 是本仓库构建系统对外的统一命令行入口pyodide-build提供了build、build-recipes、venv、config、skeleton、py-compile、create-zipfile等核心子命令覆盖从单个包构建、按配方批量构建到虚拟环境创建与配置查询的完整链路同时通过 Click 插件机制允许pyodide-pack等外部包扩展命令树。与之配套的 Pyodide Python CLI 则让开发者可以在本机Linux/macOS Node.js 22以原生 Python 的方式运行基于 WebAssembly 的解释器用于测试、实验与打包准备。掌握这两套命令行入口即可完整驾驭 Pyodide 从开发、构建到部署的整条工具链。赞分享科学计算开发工具【免费下载链接】pyodidePyodide is a Python distribution for the browser and Node.js based on WebAssembly项目地址https://gitcode.com/gh_mirrors/py/pyodide点击查看免费下载相关推荐Velero CLI 入门指南ark 根命令的完整选项与子命令体系解析Velero CLI 入门指南ark 根命令的完整选项与子命令体系解析 本指南以 Velero前身 Heptio Ark的 CLI 参考文档为核心系统讲云原生灾备存储后端Spec Kit specify CLI 完全参考指南核心命令、集成、扩展、预设、工作流与 /speckit.* 智能体命令Spec Kit specify CLI 完全参考指南核心命令、集成、扩展、预设、工作流与 /speckit. 智能体命令 Spec Kit 的 Specif开发工具CLI工作流自动化Jekyll 插件命令开发指南用 init_with_program 扩展 jekyll CLI 子命令Jekyll 插件命令开发指南用 init_with_program 扩展 jekyll CLI 子命令 导读 本文基于 Jekyll 官方文档 Comman前端CMS上一篇猫抓Cat-Catch深度解析浏览器资源嗅探扩展的技术实现与实战指南下一篇DxWrapper终极指南让经典游戏在现代Windows系统上完美运行创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表