
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像基于manylinux2010构建,预装maturin工具,旨在简化Python原生扩展包的构建流程。maturin(前身为pyo3-pack)是一款零配置工具,可替代setuptools-rust和milksnake,用于将带有pyo3、rust-cpython、cffi绑定的Rust crate或Rust二进制文件构建为Python包,并支持发布到PyPI。该镜像确保构建的Linux原生模块符合manylinux标准,具备广泛的系统兼容性。
通过Docker运行镜像,挂载项目目录并执行maturin命令:
bashdocker run --rm -v $(pwd):/io docker.xuanyuan.run/konstin2/maturin build
maturin提供三个核心命令:
maturin publish
构建Python包并发布到PyPI。
bashdocker run --rm -v $(pwd):/io docker.xuanyuan.run/konstin2/maturin publish -u <username> -p <password>
maturin build
构建wheels并存储在target/wheels目录(默认),不自动上传。可配合twine手动上传。
bashdocker run --rm -v $(pwd):/io docker.xuanyuan.run/konstin2/maturin build --release -o /io/target/wheels
maturin develop
构建crate并直接安装到当前虚拟环境(需挂载虚拟环境目录)。
bashdocker run --rm -v $(pwd):/io -v /path/to/venv:/venv docker.xuanyuan.run/konstin2/maturin develop --release
通用参数
| 参数 | 说明 |
|---|---|
-b, --bindings <bindings> | 指定绑定类型:pyo3、rust-cpython、cffi或bin(cffi/***需显式指定) |
-i, --interpreter <interpreter>... | 指定Python解释器(如python3.8),未指定则自动发现 |
--manylinux <option> | 控制Linux平台标签,可选值:1(默认)、1-unchecked、2010、2010-unchecked、2014、2014-unchecked、off |
-o, --out <dir> | 指定wheels输出目录(默认target/wheels) |
--release | 传递--release给cargo,构建发布版本 |
--strip | 剥离库文件以减小体积 |
publish命令特有参数
| 参数 | 说明 |
|---|---|
-u, --username <username> | PyPI用户名 |
-p, --password <password> | PyPI密码(也可通过MATURIN_PASSWORD环境变量传递) |
-r, --repository-url <url> | 自定义仓库URL(默认https://upload.pypi.org/legacy/) |
通过Cargo.toml配置Python元数据
在Cargo.toml中添加[package.metadata.maturin] section配置Python包信息:
toml[package.metadata.maturin] requires-dist = ["flask~=1.1.0", "toml==0.10.0"] # 依赖项,相当于install_requires classifier = ["Programming Language :: Python"] # Trove分类器 requires-python = ">=3.5" # Python版本要求 [package.metadata.maturin.scripts] get_42 = "my_project:DummyClass.get_42" # 控制台脚本
通过pyproject.toml支持PEP 517构建
创建pyproject.toml:
toml[build-system] requires = ["maturin"] build-backend = "maturin" [tool.maturin] bindings = "cffi" # cffi/bin项目需显式指定 manylinux = "2010" # 设置manylinux版本 sdist-include = ["path/**/*"] # 包含额外文件到sdist
my-project/ ├── Cargo.toml ├── my_project/ # Python模块目录(与Cargo.toml中[lib] name一致) │ ├── __init__.py │ └── bar.py └── src/ └── lib.rs # Rust代码
执行maturin develop后,Rust编译产物会被复制到my_project目录,可直接通过Python导入。
--manylinux off。cffi和virtualenv(pip install cffi virtualenv)。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务