ImportError: Kein Modul mit dem Namen sechs


102

Ich versuche, ein OpenERP-Projekt mit Abhängigkeiten zu erstellen. Es gibt jetzt diesen Fehler

Traceback (most recent call last):
  File "openerp-client.py", line 105, in <module>
  File "modules\__init__.pyo", line 23, in <module>
  File "modules\gui\__init__.pyo", line 22, in <module>
  File "modules\gui\main.pyo", line 33, in <module>
  File "rpc.pyo", line 29, in <module>
  File "common\__init__.pyo", line 22, in <module>
  File "common\common.pyo", line 26, in <module>
  File "tools\__init__.pyo", line 28, in <module>
  File "dateutil\relativedelta.pyo", line 12, in <module>
ImportError: No module named six

Könnte jemand sagen, was falsch ist und wie es behoben werden kann?


Falls sechs unter der falschen Python-Version gespeichert ist, siehe mein [kludge] [1] [1]: stackoverflow.com/questions/26859356/error-no-module-named-six
Prune

Antworten:


136

Sie haben das sixPython-Modul wahrscheinlich nicht installiert. Sie finden es auf pypi .

So installieren Sie es:

$ easy_install six

(Wenn Sie pipinstalliert haben, verwenden Sie pip install sixstattdessen)


4
Es tut mir leid, aber das ist eine sehr fehlende Antwort. Warum installieren so viele Pip-Module ihre Abhängigkeiten nicht?
Swade

1
Ich habe keine Ahnung, warum einige Python-Module ihre Abhängigkeiten falsch auflisten. Möglicherweise testet der Autor die Installation des Moduls in einer Chroot nicht, um zu überprüfen, ob die Abhängigkeiten korrekt sind.
Sylvain Defresne

Ich brauchte es in meinem Pipfile für eine Web-App. Ich habe benutzt pipenv install six.
Blaskovicz

@StevenWade Für mich fand ich, dass pip install git+...das der Schuldige war; Es wurden keine Deps verfolgt. Das Installieren der Pypi-Version, das Deinstallieren und das anschließende Installieren der Git + -Version haben die erforderlichen Abhängigkeiten mit sich gebracht, obwohl dies albern erscheint.
Tsbertalan

Unter Ubuntu für Python 2.7 habe ich es mit installiert sudo apt install python-six. Vielen Dank!
wjandrea vor

37

Wenn pip "sagt", ist sechs installiert, aber Sie erhalten immer noch:

ImportError: No module named six.moves

versuche sechs neu zu installieren (hat bei mir funktioniert):

pip uninstall six
pip install six

Wie Sie sagten, konnte ich das Problem nach der Neuinstallation von sechs beheben. Danke dir!
Alleine

Für mich auch ... Ich hatte das Paket installiert, aber Software-Eigenschaften-GTK schlug fehl. Schließlich habe ich es auf einen Importfehler in sechs zurückgeführt. Das Paket python3-six wurde installiert, aber das Modul wurde nicht geladen. Ich habe das Modul mit apt neu installiert und das Problem behoben.
Tim Richardson

Sehr hilfreich. Vielen Dank.
Keramat

20

Auf Ubuntu und Debian

apt-get install python-six

macht den Trick.

Verwenden sudo apt-get install python-sixSie diese Option, wenn die Fehlermeldung "Berechtigung verweigert" angezeigt wird.


17

Für Mac OS X:

pip install --ignore-installed six

2

Ich habe Folgendes getan, um das erwähnte Problem zu lösen. Ich habe das erwähnte Problem bekommen, als ich versucht habe, die erstellte Exe auszuführen, obwohl ich die Exe erfolgreich mit Pyinstaller erstellt habe. Ich habe das unter Windows 10 gemacht.

  1. Gehen Sie zu https://pypi.org/project/six/#files
  2. Download "six-1.14.0.tar.gz (33,9 kB)"
  3. entpacke es, kopiere und füge "six.py" in dein Quellverzeichnis ein.
  4. "Sechs" -Modul in Ihren Quellcode importieren (Sechs importieren)
  5. Führen Sie das Quellenskript aus.


1

Unter Ubuntu Bionic (18.04) ist bereits sechs für Python2 und Python3 installiert, aber ich habe den Fehler beim Starten von Wammu. @ 3ygun Lösung funktionierte für mich zu lösen

ImportError: No module named six

beim Starten von Wammu

Wenn es für das Python3-Programm aufgetreten ist, werden sechs mitgeliefert

pip3 install six

und wenn du kein pip3 hast:

apt install python3-pip

mit sudo unter Ubuntu!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.