ImportError: Żaden moduł o nazwie six


103

Próbuję zbudować projekt OpenERP, zrobiony z zależnościami. Teraz podaje ten błąd

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

Czy ktoś mógłby wskazać, co jest nie tak i jak można to naprawić ???


W przypadku, gdy sześć jest przechowywanych w niewłaściwej wersji Pythona, zobacz mój [kludge] [1] [1]: stackoverflow.com/questions/26859356/error-no-module-named-six
Prune

Odpowiedzi:


136

Prawdopodobnie nie masz sixzainstalowanego modułu Python. Możesz go znaleźć na pypi .

Aby go zainstalować:

$ easy_install six

(jeśli masz pipzainstalowany, użyj pip install sixzamiast tego)


4
Przepraszam, ale to bardzo brakująca odpowiedź. Dlaczego tak wiele modułów pip nie instaluje swoich zależności?
swade

1
Nie mam pojęcia, dlaczego niektóre moduły Pythona niepoprawnie wyświetlają swoje zależności. Być może autor nie testuje instalacji modułu w chroocie, aby sprawdzić, czy zależności są poprawne.
Sylvain Defresne

Potrzebowałem tego w moim Pipfile dla aplikacji internetowej. Użyłem pipenv install six.
Blaskovicz

@StevenWade Dla mnie okazało się, że to pip install git+...był winowajca; nie śledzono żadnych deps. Instalowanie wersji pypi, odinstalowywanie, a następnie instalowanie wersji git + pociągnęło za sobą niezbędne zależności, choć wydaje się to głupie.
tsbertalan

1
Na Ubuntu dla Pythona 2.7 zainstalowałem go z sudo apt install python-six. Dzięki!
wjandrea

37

Jeśli pip „mówi”, że jest zainstalowany, ale nadal otrzymujesz:

ImportError: No module named six.moves

spróbuj ponownie zainstalować sześć (działało dla mnie):

pip uninstall six
pip install six

Jak powiedziałeś, mogłem rozwiązać problem po ponownej instalacji sześciu. Dziękuję Ci!
alones

Dla mnie też ... miałem zainstalowany pakiet, ale software-properties-gtk zawiódł. Ostatecznie wyśledziłem to do błędu importu w sześciu. Pakiet python3-six został zainstalowany, ale moduł się nie ładował. Ponownie zainstalowałem moduł za pomocą apt i problem został rozwiązany.
Tim Richardson,

Bardzo pomocne. Dzięki.
keramat

21

Na Ubuntu i Debianie

apt-get install python-six

Zrób sztuczkę.

Użyj, sudo apt-get install python-sixjeśli pojawi się komunikat o błędzie „Odmowa uprawnień”.


18

W przypadku systemu Mac OS X:

pip install --ignore-installed six

2

Wykonałem następujące czynności, aby rozwiązać wspomniany problem. Pojawił się wspomniany problem, gdy próbowałem uruchomić zbudowany exe, nawet jeśli udało mi się zbudować exe przy użyciu pyinstaller. Zrobiłem to na Windows 10.

  1. przejdź do https://pypi.org/project/six/#files
  2. pobierz plik „six-1.14.0.tar.gz (33,9 kB)”
  3. rozpakuj go, skopiuj i wklej plik „six.py” do katalogu źródłowego.
  4. zaimportuj moduł „sześć” do kodu źródłowego (zaimportuj sześć)
  5. uruchom skrypt źródłowy.


1

na Ubuntu Bionic (18.04), sześć jest już zainstalowanych dla python2 i python3, ale mam błąd podczas uruchamiania Wammu. @ 3ygun rozwiązanie zadziałało dla mnie do rozwiązania

ImportError: No module named six

podczas uruchamiania Wammu

Jeśli wystąpiło to w przypadku programu python3, sześć pochodzi z

pip3 install six

a jeśli nie masz pip3:

apt install python3-pip

z sudo pod Ubuntu!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.