我正在使用Pipenv版本'2018.7.1'和pip 18.0。
我有一个Pipfile
并运行pipenv install
。
它失败并显示:
Could not find a version that matches prompt-toolkit<2.0.0,<2.1.0,==2.0.7,>=1.0.0,>=1.0.4,>=2.0.0
Tried: 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 0.9, 0.10, 0.11, 0.12, 0.13, 0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20, 0.21, 0.22, 0.23, 0.25, 0.26, 0.28, 0.30, 0.31, 0.32, 0.32, 0.32, 0.33, 0.33, 0.33, 0.34, 0.34, 0.34, 0.35, 0.35, 0.35, 0.36, 0.36, 0.36, 0.37, 0.37, 0.37, 0.38, 0.38, 0.38, 0.39, 0.39, 0.39, 0.40, 0.40, 0.40, 0.41, 0.41, 0.41, 0.42, 0.42, 0.42, 0.43, 0.43, 0.43, 0.44, 0.44, 0.44, 0.45, 0.45, 0.45, 0.46, 0.46, 0.46, 0.47, 0.47, 0.47, 0.48, 0.48, 0.48, 0.49, 0.49, 0.49, 0.50, 0.50, 0.50, 0.51, 0.51, 0.51, 0.52, 0.52, 0.52, 0.53, 0.53, 0.53, 0.54, 0.54, 0.54, 0.55, 0.55, 0.55, 0.56, 0.56, 0.56, 0.57, 0.57, 0.57, 0.58, 0.58, 0.58, 0.59, 0.59, 0.59, 0.60, 0.60, 0.60, 1.0.0, 1.0.0, 1.0.0, 1.0.1, 1.0.1, 1.0.1, 1.0.2, 1.0.2, 1.0.2, 1.0.3, 1.0.3, 1.0.3, 1.0.4, 1.0.4, 1.0.4, 1.0.5, 1.0.5, 1.0.5, 1.0.6, 1.0.6, 1.0.6, 1.0.7, 1.0.7, 1.0.7, 1.0.8, 1.0.8, 1.0.8, 1.0.9, 1.0.9, 1.0.9, 1.0.10, 1.0.10, 1.0.10, 1.0.13, 1.0.13, 1.0.13, 1.0.14, 1.0.14, 1.0.14, 1.0.15, 1.0.15, 1.0.15, 2.0.1, 2.0.1, 2.0.1, 2.0.2, 2.0.2, 2.0.2, 2.0.3, 2.0.3, 2.0.3, 2.0.4, 2.0.4, 2.0.4, 2.0.5, 2.0.5, 2.0.5, 2.0.6, 2.0.6, 2.0.6, 2.0.7, 2.0.7, 2.0.7
There are incompatible versions in the resolved dependencies.
我检查了https://pipenv.readthedocs.io/en/latest/diagnose/,他们建议尝试
pipenv lock --clear
和/或清除整个缓存目录。我都尝试了,但是得到了与上面相同的错误。我查看了
的结果 pipenv graph
看到对prompt-toolkit
的所有引用(失败的依赖项)看起来像:
- prompt-toolkit [required: >=1.0.4,<2.0.0, installed: 1.0.15]
。
所以现在我非常困惑,因为似乎根本没有依赖冲突。有什么想法为什么会发生以及如何解决?
答案 0 :(得分:0)
它告诉您为什么无法安装。
找不到与
prompt-toolkit<2.0.0,[...],>=2.0.0
匹配的版本
再次查看pipenv graph
,您应该看到类似以下内容的
abc==1.0.1 - prompt-toolkit [required: >=1.0.4,<2.0.0, installed: 1.0.15] def==1.0.2 - prompt-toolkit [required: >=2.0.0, installed: 1.0.15]
您必须删除abc
或def
中的一个。或使用较旧的def
版本(如果存在)也使用prompt-toolkit<2.0.0
。
答案 1 :(得分:0)
如果您忽略了任何提及的依赖关系,那么Peilonrayz的答案很好。正如您提到的,有时pipenv
不会显示确实影响可解决性的子依赖项。
尝试使用pipenv lock -clear -verbose
,您还将获得有关子依赖项的信息。您可以在它们中搜索'==2.0.7'
(看起来像是您的'missing'依赖项。一旦找到要求'==2.0.7'
的子依赖项,就可以解决此问题。< / p>