这个问题在网站上已经被问了好几次,但答案往往是省略了install_requires
参数。
这里不是这样。在
我正在尝试构建一个可以pip安装的轮子,它还可以在PyPI上安装一个所需的软件包。在
我的setup.py
包括:
setup(
install_requires= ['shotgun-api3']
dependency_links = [
"git+https://github.com/shotgunsoftware/python-api.git@v3.0.36#egg=shotgun_api3"
],
# ...
)
然后从命令行运行python setup.py sdist bdist_wheel
来生成{
我没有将我的包上载到索引,而是尝试从文件系统安装我的包;因此,在一个干净的virtualenv中,我运行:
pip -v install mypackage --no-index --find-links file:///F:/RyDev/myproject/dist --process-dependency-links
。在
我得到:
^{pr2}$因为我使用了verbose标志,所以我看到:
Collecting shotgun-api3 (from mypackage)
0 location(s) to search for versions of shotgun-api3:
Skipping link file:///F:/RyDev/mypackage/dist/mypackage-4.0.0-py2-none-any.whl; wrong project name (not shotgun-api3)
Skipping link file:///F:/RyDev/mypackage/dist/mypackage-4.0.0.tar.gz; wrong project name (not shotgun-api3)
值得注意的是:
setup.py
中删除install_requires
参数,mypackage
将在没有依赖关系的情况下进行pip安装。在pip install git+https://github.com/shotgunsoftware/python-api.git@v3.0.36#egg=shotgun_api3
,它成功地安装了shotgun-api3包。在…但在我的一生中,我似乎无法让shotgun-api3
安装作为mypackage
的依赖项。在
在我看来,我提供给dependency_links的(git)URL没有包含在位置列表中,所以我想知道我是否遗漏了一些东西?在
环境:
至于你的设置.py公司名称:
在^{} 19.0 and later 中,
dependency_links
被忽略。使用PEP 508语法指定要由pip
使用的URL:我将您的
dependency_links
留在中,因为pip
中的嵌套依赖项使用了setuptools
,正如今天在{a2}的评论中所讨论的那样。在关于安装:
因为我没有你的本地软件包,所以不可能检查这个答案是否能解决你的问题。但是,请确保在测试时删除
process-dependency-links
部分,因为最新的pip
也不再支持该部分。在或者,要安装本地包,请尝试
pip install -e .
,而不是手动编译和指定所有内容。在相关问题 更多 >
编程相关推荐