如何在 Python 包中包含 whl 文件并将其作为依赖项安装(在 pyproject.toml 中)

mtr*_*234 5 python setuptools pyproject.toml

我正在创建一个 Python 包,根据我的要求,我有一个特定的(与硬件相关的)Python 包,该包在 PyPI 或 Git 或网络上的其他任何地方都不可用。我想将此文件包含在包中,以便在我运行时pip install my-packagepip install --editable .从包目录中安装它。

如何使用 setuptools 和 pyproject.toml 打包并安装“本地”依赖项?

我已将 .whl (实际上是一个 .zip 文件,但似乎可以通过 pip 安装)放在libs/根目录下的一个名为的文件夹中。我requirements.txt可以直接写./libs/package_name.whl,当我运行时它就可以工作pip install -r requirements.txt。但是,我无法找到一种方法来对pyproject.toml. 目前我已经尝试过:

[project]
dependencies = [
    ...
    "package_name @ file:///libs/package_name.whl"
Run Code Online (Sandbox Code Playgroud)

这不起作用,因为不允许相对文件路径。如果绝对文件路径可以在最终用户计算机上运行,​​那么它应该如何工作?

我对如何处理此案感到非常困惑(和沮丧)。我看到其他人提出相同或类似的问题(例如,如何在软件包安装期间安装库轮(通过 pyproject.toml 或 setyp.py)?)。这些问题似乎都没有令人满意的答案(比如建议自己托管外部包),到目前为止我还没有找到替代策略。