首页 > 解决方案 > 如何查找哪个包需要我的其他包降级

问题描述

我正在与一些遗留的 Python 代码搏斗。感谢这个好答案的帮助,我能够编写一个conda正确执行的调用,并且希望包含运行代码所需的所有包:

conda install IPython scipy numpy PIL scikit-image matplotlib tensorflow keras

但是,现在conda告诉我

The following packages will be DOWNGRADED:

  certifi                                 2018.11.29-py36_0 --> 2018.11.29-py27_0
  pip                                         19.0.3-py36_0 --> 19.0.3-py27_0
  python                                   3.6.8-haf84260_0 --> 2.7.15-h8f8e585_6
  setuptools                                  40.8.0-py36_0 --> 40.8.0-py27_0
  wheel                                       0.33.1-py36_0 --> 0.33.1-py27_0

什么什么?!Python 2.7.15?没门。此外,项目 README 包含使用 Python 3.6 运行代码的“说明”,因此理论上该代码应该与 Python 3.6 兼容。有没有办法准确了解导致降级的软件包和/或软件包组合?

在你这么说之前,我知道我可以一次只安装一个包,然后看看哪个是罪魁祸首。但是conda文档特别警告不要安装环境中所需的软件包,一次一个:

https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#creating-an-environment-with-commands

同时在此环境中安装您想要的所有程序。一次安装 1 个程序会导致依赖冲突。


PSconda install命令的输出实际上比我在这里包含的要长得多。我只复制了该DOWNGRADE部分,因为它是唯一困扰我的部分,但当然,如果您愿意,我可以包含完整的多页输出。

标签: pythoninstallationcondaconflicting-libraries

解决方案


推荐阅读