将回购的特定分支作为依赖项并将其用于运行测试的正确方法是什么?
如果只指定dependency_links,则setuptools将将其安装为依赖项,但不安装它以运行测试:
setup(
packages=['utils', 'tokens'],
dependency_links=[
'https://github.com/Demonware/jose/tarball/python3#egg=jose-1.1.0'
],
# install_requires=['jose'],
use_2to3=True,
test_suite='test_jwt',
zip_safe=True,
)我依赖于python3分支的jose库。当我运行setup.py test时,它会抱怨它找不到jose包。
如果我添加install_requires,它只是安装了主分支,而不是我需要的python3分支。
发布于 2018-05-25 02:29:59
尝试:
dependency_links=[
'https://github.com/Demonware/jose@python3#egg=jose-1.1.0'
],
install_requires=['jose'],让我解释一下。pip/setuptools VCS具有以下结构:
git+https://repoURL@reference#egg=project-versionRepoURL是一个VCS存储库URL (在您的例子中是https://github.com/Demonware/jose)。
引用是标记、分支或提交ID (SHA1,可以缩短为7-10个字符);在您的例子中,它是分支python3。
#egg=哈希中的项目名称和版本是setuptools将URL识别为以install_requires命名的项目的URL所必需的-- setuptools必须在下载项目之前知道项目名称,因此#egg=哈希是传递该信息的唯一方法。版本并不是绝对必要的,但是对于像install_requires=['jose>=1.1.0']这样的情况,它将是有用的。
https://stackoverflow.com/questions/50520506
复制相似问题