有没有办法强制 conda install 安装软件包及其依赖项而不是给出错误

Cam*_*Cam 10 installation dependencies package anaconda

我有一个 miniconda 环境,我要在其中安装软件包。我想安装一个软件包,我知道可能存在一些冲突,但是要解决这些冲突,要么需要安装丢失的软件包或降级/升级另一个软件包,它已成为试图降级、升级和安装软件包的漫长兔子洞。有没有办法强制 conda 自动执行这一切,因为它目前没有。示例安装是:

conda install psycopg2=2.7.5=py35h74b6da3_2
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的包、版本和 python,但是我收到一个似乎永远不会结束的错误。

UnsatisfiableError: The follow specifications were found to be in conflict:
-defaults/win-64::qt==5.9.7 ->openssl[version='1.1.*,>1=1.1.1a,<1.1.2a']
-openssl=1.0.2r
Run Code Online (Sandbox Code Playgroud)

然后告诉我查看它的依赖项,然后它列出了更多需要安装的包,我不确定它何时结束......

任何帮助都会很棒。

小智 8

这是 Python 包管理中长期存在的问题。因此,据我所知,Anaconda 没有提供解决方案。但是,这里需要您将 conda 用法替换为专为此类问题设计的另一个 Python 包:Poetry ( https://python-poetry.org/ )

  1. 安装诗歌:curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
  2. 使用 Pyenv 或 conda 等为您的项目创建虚拟环境:conda create -n myenv python=3.6
  3. 激活您的虚拟环境:conda activate myenv
  4. 创建一个诗歌项目poetry init
  5. 将包依赖项添加到虚拟环境中poetry add my-package

Poetry 为您处理包依赖关系,并提供有用的命令,例如poetry update在可用时轻松更新包版本,而不会破坏整个过程。您还可以使用现有的 pyproject.toml (捕获依赖项)文件安装环境poetry install

Poetry 正在成为 Python 生态系统的标准(Github 上有超过 13k 颗星)。