如何使用Pipenv解决Python软件包依赖关系? [英] How to resolve Python package depencencies with pipenv?

查看:243
本文介绍了如何使用Pipenv解决Python软件包依赖关系?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am using pipenv to handle a Python package dependencies.

Python软件包使用的两个软件包(分别为pckg1pckg2)依赖于同一个名为pckg3的软件包,但来自两个不同的版本.显示依赖关系树:

The Python package is using two packages (named pckg1 and pckg2) that relies on the same package named pckg3, but from two different versions. Showing the dependency tree :

$ 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:\Users\user\AppData\Local\Temp\pipenv-o7uxm080-requirements\pipenv-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可以解决问题,但是依赖项树仍然无法解析.

As suggested, pip install --skip-lock does the trick, but the dependency tree is still unresolved.

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

I would love to tell Pipenv to override pckg2's requirement, and specify pckg3>=4.1.0.

如何解决?

推荐答案

我经常收到该错误.每次清除锁定文件中的缓存都是很不错的选择.

I get that error constantly. Clearing the cache in the lock file works beautifully every time.

$ pipenv lock --pre --clear

这篇关于如何使用Pipenv解决Python软件包依赖关系?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆