【发布时间】:2021-08-26 02:28:47
【问题描述】:
我最近遇到了一个 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'))]
【问题讨论】:
-
从包中构建一个(可能是二进制,如果涉及 C++)轮子并需要它不是更容易吗?
-
正如 AKX 所说:我建议您避免直接引用这个 tarball,而是从这个库中构建一个轮子,并将轮子作为项目的依赖项引用。 -- 否则,也许看看这个,以防它有帮助(我怀疑):stackoverflow.com/a/65858081
-
@AKX 有趣的是 Python 代码不包含 C++ 绑定。他们都只是客户。否则我就照你说的做。
-
@studentbrad 所以更好的是,您可以使用
python setup.py bdist_wheel用python 位构建一个非二进制轮子! -
@AKX 如果您希望它被接受,请考虑将其作为答案。为我工作。
标签: python python-3.x pip setup.py