有没有一种方法可以强制conda install安装软件包及其依赖项,而不是给出错误信息

时间:2019-03-29 15:41:02

标签: dependencies package anaconda install

我有一个要在其中安装软件包的miniconda环境。我想安装一个软件包,并且我了解可能会有一些冲突,但是要解决这些冲突,要么需要丢失软件包安装,要么降级/升级另一个软件包,并且尝试降级,升级和安装软件包已成为一个漫长的难题。有没有一种方法可以强制conda自动执行所有操作,因为它目前没有。安装示例为:

conda install psycopg2=2.7.5=py35h74b6da3_2

这是我正在使用的软件包,版本和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

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

任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

这是Python软件包管理中长期存在的问题。因此,据我所知,Anaconda并未为此提供解决方案。但是,这是一个需要您用针对此问题设计的另一个Python软件包替换conda的用法:诗歌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
  6. 将软件包依赖项添加到虚拟环境中

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

诗歌正在成为Python生态系统的标准(在Github上> 13k星)。