【问题标题】:Endless loop incompatible when I pip install requirements (Django1.99)当我 pip 安装要求时,无限循环不兼容(Django1.99)
【发布时间】:2019-03-05 03:43:10
【问题描述】:

1当我 pip 安装我的 Django 项目要求时收到警告消息

wechat-sdk 0.6.4 有需求 requests==2.6.0,但你会有 请求不兼容的 2.9.1。

2然后按照提示我卸载请求并安装正确的版本,但我收到另一个警告

python-social-auth 0.2.21 有需求请求>=2.9.1,但你会 有不兼容的 2.6.0 请求。

所以,我陷入了无限循环

谁能给点建议?

【问题讨论】:

    标签: python django pip ubuntu-14.04


    【解决方案1】:

    据我所知,您有以下选择:

    1. 使用--no-dependencies 参数运行pip,希望它能正常工作。例如pip install wechatpy --no-dependencies(或者不管这个包叫什么,我都不熟悉)。这会在安装时忽略依赖项。也许要求已经过时,这会让你继续。为此,您很可能希望满足requests>=2.9.1 要求,因此您应该正常安装python-social-auth,然后尝试其他没有依赖关系的包。
    2. 查找您正在安装的具有兼容要求的旧版本的软件包。根据您项目的设置,这可能无法执行,因为您需要更高版本的功能(或者旧版本可能不安全)。
    3. 您可以尝试在本地修补您的要求之一(从源下载,更改代码以使其与冲突的requests 版本一起使用)。然后导入本地版本的包。在这种情况下,请记住从项目的requirements.txt 中删除要求,以阻止其他人在处理/使用您的项目时遇到相同的问题,并将本地版本作为项目的一部分包含在内(在 Git 上跟踪它)。检查您正在修改的软件包的许可证,以查看是否允许您修改和重新分发它们。 (可选:使用您的更改在包的 Github 上提出拉取请求,以便其他人可以从中受益)
    4. 用其他东西替换其中一个或两个包。它们可能只是不兼容,或者使用本地的修改版本可能不可行。

    【讨论】:

      猜你喜欢
      • 2021-03-30
      • 2020-08-12
      • 2021-04-12
      • 1970-01-01
      • 1970-01-01
      • 2021-03-24
      • 1970-01-01
      • 1970-01-01
      • 2019-06-21
      相关资源
      最近更新 更多