设置.py未搜索安装所需的依赖项\u链接

2024-09-27 19:22:20 发布

您现在位置:Python中文网/ 问答频道 /正文

这个问题在网站上已经被问了好几次,但答案往往是省略了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没有包含在位置列表中,所以我想知道我是否遗漏了一些东西?在

环境:

  • Python 2.7.13(无法升级)
  • Windows 7(无法切换操作系统)
  • 像素10.0.1
  • 设置工具39.2.0
  • virtualenv 16.0.0版
  • 车轮0.31.1

Tags: installpippygit参数distsetuplinks
1条回答
网友
1楼 · 发布于 2024-09-27 19:22:20

至于你的设置.py公司名称:

^{} 19.0 and later中,dependency_links被忽略。使用PEP 508语法指定要由pip使用的URL:

setup(
    install_requires= ['shotgun-api3 @ git+https://github.com/shotgunsoftware/python-api.git@v3.0.36#egg=shotgun_api3']
    dependency_links = [
        "git+https://github.com/shotgunsoftware/python-api.git@v3.0.36#egg=shotgun_api3"
    ],
    # ...
)

我将您的dependency_links留在中,因为pip中的嵌套依赖项使用了setuptools,正如今天在{a2}的评论中所讨论的那样。在

关于安装:

因为我没有你的本地软件包,所以不可能检查这个答案是否能解决你的问题。但是,请确保在测试时删除 process-dependency-links部分,因为最新的pip也不再支持该部分。在

或者,要安装本地包,请尝试pip install -e .,而不是手动编译和指定所有内容。在

相关问题 更多 >

    热门问题