web-dev-qa-db-de.com

Conda 'ImportError: Kein Modul mit dem Namen ruamel.yaml.comments'

Conda gibt einen Fehler aus, wenn ich einen Befehl damit ausführen.

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
9
Nipun Garg

Das Modul ruamel.yaml.comments wird normalerweise von site-packages/ruamel/yaml/comments.py und nicht von site-packages/ruamel_yaml/comments.py geladen.

Conda scheint Probleme mit der korrekten Unterstützung von Namespaces (ruamel.) zu haben, die ich nur (noch) nicht vollständig pip-kompatibel erklären kann. Obwohl "Namespaces sind eine gute Idee" , und Package-Namespaces gibt es schon seit vielen Jahren.

Angenommen, Sie können "conda" -Installationen mit pip erweitern, Sie könnten versuchen, eine normale Installation von ruamel.yaml mit folgendem auszuführen:

 pip install ruamel_yaml==0.11.14

Normalerweise würde ich eine solche alte Version nicht empfehlen, aber das funktioniert eher in Kombination mit der Version, die conda intern verwendet.

Die Alternative wäre, auf Python und Pip ohne Conda zu wechseln. Auf diese Weise können Sie einfach die neueste Softwareversion von PyPI verwenden.

9
Anthon

pip install ruamel.yaml ausprobieren

Für mich geht das.

7
Nicholas Luo

Sudo pip install ruamel_yaml ausprobieren

4
Sergei

Ich ging in diese Datei:

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

diese Zeile bearbeitet: 

import ruamel.yaml as yaml 

lesen 

import ruamel_yaml as yaml 

Das Ändern des Punktes in einen Unterstrich hat für mich funktioniert. Ich hoffe, es funktioniert für Sie.

1
user612161

Die obige Antwort hat bei mir nicht funktioniert. Ich musste eine Neuinstallation der Core-Conda-Komponenten vornehmen, wie in den Conda-Dokumenten hier beschrieben. Kopieren und unten einfügen:

Problem: Mein Conda ist defekt und ich möchte das Problem beheben, ohne die aktuelle Installation wegzublasen Ich erhalte einen Conda-Fehler und möchte Miniconda neu installieren, um das Problem zu beheben. Wenn ich es versuche, wird jedoch der Fehler angezeigt, dass Miniconda (oder Anaconda) bereits installiert ist und mich nicht weiter ausführen lässt. Ich möchte die Installation erzwingen.

Lösung: Installieren Sie Miniconda mit der Option -f (force) Laden Sie die entsprechende Miniconda für Ihr Computerbetriebssystem von der Miniconda-Downloadseite herunter und installieren Sie sie. Verwenden Sie dazu die Option force oder -f:

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

HINWEIS: Ersetzen Sie Ihren .__ durch den entsprechenden Dateinamen und die entsprechende Version. Betriebssystem.

ANMERKUNG: Vergewissern Sie sich, dass Sie die Installation an demselben Installationsort wie Ihre .__ durchführen. Vorhandene Installation, so dass die Core-Conda-Dateien überschrieben werden Installieren Sie ein Duplikat in einem neuen Ordner.

0
spacetyper