27

当我使用它运行任何命令时,Conda 会出错。

Traceback (most recent call last):
  File "/usr/local/bin/conda", line 7, in <module>
    from conda.cli.main import main
  File "/usr/local/lib/python2.7/dist-packages/conda/cli/__init__.py", line 8, in <module>
    from .main import main  # NOQA
  File "/usr/local/lib/python2.7/dist-packages/conda/cli/main.py", line 46, in <module>
    from ..base.context import context
  File "/usr/local/lib/python2.7/dist-packages/conda/base/context.py", line 18, in <module>
    from ..common.configuration import (Configuration, MapParameter, PrimitiveParameter,
  File "/usr/local/lib/python2.7/dist-packages/conda/common/configuration.py", line 40, in <module>
    from ruamel.yaml.comments import CommentedSeq, CommentedMap  # pragma: no cover
ImportError: No module named ruamel.yaml.comments
4

13 回答 13

26

模块ruamel.yaml.comments通常会从 加载 site-packages/ruamel/yaml/comments.py,而不是从site-packages/ruamel_yaml/comments.py

Conda 似乎在正确支持命名空间 ( ruamel.) 方面存在问题,我只能将其归因于(尚未)完全pip兼容。尽管“命名空间是个好主意”,并且包命名空间已经存在很多年了。

假设您可以扩展“conda”安装,pip您可以尝试使用以下命令进行正常安装ruamel.yaml

 pip install ruamel_yaml==0.11.14

我通常不会推荐这样一个旧版本,但它更有可能与 conda 在内部使用的版本结合使用。

另一种方法是在没有 conda 的情况下切换到使用 python 和 pip,这样你就可以使用 PyPI 的最新版本的软件。

于 2016-12-29T06:38:29.970 回答
14

尝试pip install ruamel.yaml

这个对我有用。

于 2017-02-09T16:06:07.670 回答
12

试试conda install ruamel.yaml... pip 对我不起作用

于 2020-09-03T10:19:59.323 回答
6

我进入了这个文件:

/anaconda2/lib/python2.7/site-packages/dateparser/utils/__init__.py

编辑了这一行:

import ruamel.yaml as yaml 

读书

import ruamel_yaml as yaml 

将点更改为下划线对我有用....我希望它对你有用。

于 2018-01-30T22:10:43.680 回答
5

尝试sudo pip install ruamel_yaml

于 2017-02-04T09:02:18.187 回答
2

转到 anaconda3\lib\site-packages\rpcq_base.py 并更改第 22 行:

from ruamel import yaml

from ruamel_yaml as yaml
于 2021-05-18T16:28:34.547 回答
1

上面的答案对我不起作用。我必须按照此处的 conda 文档中的说明重新安装核心 conda 组件。复制并粘贴在下面:

问题:我的 conda 坏了,我想在不破坏当前安装的情况下修复它我收到 conda 错误并想重新安装 Miniconda 来修复它,但是当我尝试时,它给了我 Miniconda(或 Anaconda)已经存在的错误安装,不会让我继续。我想强制安装。

解决方法:使用 -f(强制)选项安装 Miniconda 从 Miniconda 下载页面使用强制或 -f 选项下载并安装适用于您的计算机操作系统的 Miniconda,如下所示:

bash Miniconda3-latest-MacOSX-x86_64.sh -f

注意:替换为您的操作系统的适当文件名和版本。

注意:确保安装到与现有安装相同的安装位置,这样它会覆盖核心 conda 文件,并且不会在新文件夹中安装副本。

于 2017-01-18T06:03:25.987 回答
0

这对我有用:

pip install --upgrade ruamel.yaml --ignore-installed ruamel.yaml

来自 matsci.org https://matsci.org/t/modulenotfounderror-no-module-named-ruamel/36183的答案

于 2021-11-02T02:38:19.837 回答
0

要添加@user612161所说的内容,请转到需要 ruamel.yaml 的父模块的目录(dateparser在本例中):

cd anaconda2/lib/python2.7/site-packages/dateparser

并通过以下命令(Linux)将所有出现的 ruamel.yaml 更改为 ruamel_yaml:

find . -name '*.py' | xargs sed -i 's/ruamel.yaml/ruamel_yaml/g'
于 2021-07-02T04:50:46.950 回答
0

这可能不是一个受欢迎的答案,但经过数小时的故障排除后,它终于帮助了我:

  1. 在我的主目录 fwiw 中卸载 conda(我使用了这个堆栈溢出解决方案)和rm -rfminiconda3。
  2. 使用数据营的教程重新安装了 conda 。

经过大量头部撞击后,没有其他解决方案对我有用。

于 2020-04-10T19:53:57.137 回答
0

对于 python3 使用

pip3 install ruamel_yaml

如果pip3没有安装,请先尝试

sudo apt install python3-pip 
于 2020-11-06T08:20:40.583 回答
0

对我来说,这是一个conda/pip错误。我试图通过 pip 安装(在我的例子中是cwltool )。
它成功完成,但是运行任何命令都给了我上面的错误。

ImportError: No module named ruamel.yaml.

事实证明,pip二进制文件不是我的 conda env 的一部分,而是安装cwltool到一个完全独立的位置。

为了解决这个问题,我完成了以下操作:

conda activate <env I want to install cwltool into>

conda install -y pip

# Run 'rehash' now if you're using zsh to ensure you're using the right pip

pip install cwltool

cwltool -h
于 2021-01-28T21:23:23.337 回答
0

快速简便的方法是在升级中忽略以前安装的版本

 pip install --ignore-installed ruamel_yaml==0.17.4
于 2021-07-15T10:48:33.367 回答