pip install 似乎忽略了依赖链接

Dav*_*and 7 python pip

我有一个依赖于多个包的 Python 应用程序。不幸的是,其中一个包不在 PyPi 中,所以我必须直接从 git 存储库安装它。

我一直在尝试将它添加到我的 setup.py 中,如下所示:

setup(
..,
..,
dependency_links = [
                 'https://github.com/marcuz/libpynexmo.git#egg=nexmomessage'
    ],
install_requires=[
    ..,
    'nexmomessage'
],
packages=['localpackage']
Run Code Online (Sandbox Code Playgroud)

但是它失败了:根本没有找到 nexmomessage 的发行版

我看到它在哪里创建依赖链接列表:将dependency_links 写入common.egg-info/dependency_links.txt - 当我查看该文件时,URL 是正确的。

如果我在命令行运行它: pip install -e git+ https://github.com/marcuz/libpynexmo.git#egg=nexmomessage

它安装没有问题。

想法?

小智 6

从 pip 1.5 开始,不推荐使用依赖项链接。目前 pip 仍然可以强制使用它们与--process-dependency-links标志。您可能还必须使用--allow-external packagenameor --allow-unverified packagename,其中packagename实际指定要安装的不在官方存储库中的任何依赖项

请注意,由于它已被弃用,该--process-dependency-links标志将很快被完全删除。我相信首选的方法是提供一个requirements.txt文件。

  • 根据 1.5 发行说明,依赖链接没有被“弃用”——它是处理它们所需的`--process-dependency-links`。此外,从 8.0.0 开始,您可以在需求文件的新行中添加此选项,这样用户就不必在命令行中键入它(参见 [pip#1274](https://github.com)。 com/pypa/pip/issues/1274)。 (2认同)