如果 setup.py 不是依赖项 link 的根怎么办?

What if setup.py is not at the root of a dependency link?

我最近遇到了一个 Python 包,它 setup.py 不在包根目录内。

package
|
|--cpp
|  |
|  |--<cpp stuff>
|
|--python
|  |
|  |--setup.py
|  |--<python stuff>

我不能简单地将 setup.py 中的 dependency_links 指向 python 文件夹,因为 repo 只能作为一个整体下载(它包含在 tarball 中)。

如何处理这样的依赖关系?可能是下载,然后是 setup 中的本地参考,例如

install_requires=['package @ file://localhost/{}'.format(
    os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'package', 'python'))]

让他们回答我的评论:

您可以用

构建 Python 位的轮子 (.whl)
python setup.py bdist_wheel

并使用生成的轮子作为你的依赖。