首页 > 解决方案 > Setuptools 循环依赖链接

问题描述

我有两个 [Python 3.6+] 库——我们称它们为 A 和 B。B 需要 A,并且需要为私有 bitbucket 存储库设置dependency_links。

例如,在 B 的 setup.py 中:

from setuptools import setup, find_packages

requirements = ["A"]
...
setup(
    name='B',
    version='0.1.0',
    ...
    packages=find_packages(include=['B']),
    install_requires=requirements,
    dependency_links=['git+ssh://git@git.url.com:9999/proj/repo.git@develop#egg=A-0.1.0'],
    ...
)

A 也需要 B,与 dependency_links 的需要类似。模块级别的任何内容都不会创建循环引用,但是 python/setuptools 可以像这样解析循环安装依赖项引用吗?假设我没有能力重组每个库,解决两个循环引用库设置的最佳方法是什么?

标签: pythonpython-3.xsetuptoolscircular-dependency

解决方案


回答我自己的问题:看起来它不会创建任何类型的循环引用,并且只需将dependency_link 添加到需要 B 的 A 的 setup.py 即可解决。


推荐阅读