如何用Pipenv解决Python包依赖问题?

2022-02-24 00:00:00 python python-3.x pip dependencies pipenv

问题描述

我正在使用pipenv处理Python包依赖项。

Python包使用两个包(名为pckg1pckg2),它们依赖名为pckg3,的相同包,但来自两个不同的版本。显示依赖关系树:

$ pipenv graph
  pckg1==3.0.0
    - pckg3 [required: >=4.1.0]
  pckg2==1.0.2
    - pckg3 [required: ==4.0.11]

尝试安装依赖项:

$ pipenv install

Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Hint: try $ pipenv lock --pre if it is a pre-release dependency.
Could not find a version that matches pckg3==4.0.11,==4.1.0,>=4.1.0 (from -r C:UsersuserAppDataLocalTemppipenv-o7uxm080-requirementspipenv-hwekv7dc-constraints.txt (line 2))
Tried: 3.3.1, 3.3.2, 3.3.3, 3.4.0, 3.4.2, 4.0.0, 4.0.0, 4.0.1, 4.0.1, 4.0.2, 4.0.2, 4.0.3, 4.0.3, 4.0.4, 4.0.4, 4.0.6, 4.0.6, 4.0.8, 4.0.8, 4.0.9, 4.0.9, 4.0.10, 4.0.10, 4.0.11, 4.0.11, 4.1.0, 4.1.0, 4.1.1, 4.1.1, 4.1.2, 4.1.2, 4.2.1, 4.2.1, 4.3.0, 4.3.0
There are incompatible versions in the resolved dependencies.

如建议的那样,pip install --skip-lock起到了作用,但依赖关系树仍未解析。

我希望告诉Pipenv覆盖pckg2的要求,并指定pckg3>=4.1.0

如何解决此问题?


解决方案

我经常收到该错误。每次清除锁文件中的缓存都非常有效。

$ pipenv lock --pre --clear

相关文章