【问题标题】:Conflicting package versions / dependencies in PythonPython 中的包版本/依赖项冲突
【发布时间】:2023-01-02 15:40:33
【问题描述】:

我安装了 empyrial 包

python3 -m pip install empyrial 

在我激活的虚拟环境中

安装结束时,我收到一条警告:

 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
pandas-profiling 3.6.1 requires numpy<1.24,>=1.16.0, but you have numpy 1.24.1 which is incompatible.
numba 0.54.1 requires numpy<1.21,>=1.17, but you have numpy 1.24.1 which is incompatible.

对此几乎没有疑问:

  1. 这是否意味着 numba 和 pandas 分析在没有必要的依赖项的情况下将无法工作,因为虚拟环境中安装的版本不兼容。

  2. 如果我们希望使用已安装的版本以及安装和安装所需的包版本以使其他相应包工作并且不在我的 python 代码中产生错误( s empyrial 需要特定版本但scikit-learn、fbprophet 等软件包可能需要其他版本)

    我曾尝试查看其他解决方案:他们给出了答案,例如 -

    1. 您可以重命名包
    2. 可以更改安装路径

      什么是最好的解决方案?

【问题讨论】:

    标签: python python-3.x pip virtualenv


    【解决方案1】:

    处理 1) 的方法是降级/升级包以获得适合您的其他依赖项的版本。对于 2),不幸的是,目前在 Python 中没有干净的方法可以做到这一点。

    您提到的其他解决方案给了您正确的想法。 最好的办法是手动安装这两个版本,将它们放在 Python 路径中并使用不同的名称。请记住,您还必须在其他库的导入中重命名其中一个。

    我会首先弄清楚你是否可以降级其他软件包,如 fbprophet 以接受较低版本的依赖项 (scikit-learn),它仍然适用于 empyrial,然后才求助于手动安装和库修改。

    【讨论】:

      猜你喜欢
      • 2016-07-29
      • 2012-05-30
      • 1970-01-01
      • 1970-01-01
      • 2021-06-12
      • 1970-01-01
      • 1970-01-01
      • 2013-05-22
      • 2014-09-23
      相关资源
      最近更新 更多