如何通过 pip 分发二进制文件

问题描述 投票:0回答:1

我知道这听起来有点疯狂,但在很多情况下 pip 可能是最有可能被安装的包管理器,而且 CMake 也这样做(

pip install cmake
是迄今为止最简单的方法Linux 和 Mac 上最新版本的 CMake)。

但无论如何我实际上会怎么做?据我所知,从 the wheel spec,wheels 可以包含不必是 Python 脚本的“脚本”(它可以是本机可执行文件)。轮子也可以是特定于平台的,所以我可以将我的 Linux x86 二进制文件放在一个轮子中,将 Mac ARM 放在另一个轮子中,将它们全部上传到 PyPI 并且 pip 会解决它。

但是我该怎么做呢?我已经创建了一个带有

pyproject.toml
条目的
[project.scripts]
,但看起来这些条目 do 必须是 Python 脚本。

问题是:

  1. 这是否已经可行(例如使用
    setuptools
    python -m build
    等)?
  2. 如果不是,这是否可能理论上(如果我自己编写构建器)?
python pip python-wheel
1个回答
0
投票

好吧,看来这绝对是可能的。有一个名为 Maturin 的 Rust 项目,它从 Rust 代码构建轮子。我认为它确实是为 Python 库设计的,它们是 Rust 库的薄包装器,但它也支持将二进制文件安装为脚本。 这是一个例子。

我不确定如果你的项目不是 Rust 项目你会怎么做,但幸运的是我的是。我想看看 Maturin 代码看看它做了什么。

© www.soinside.com 2019 - 2024. All rights reserved.