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