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ć ???

asadullah07
źródło
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)

Sylvain Defresne
źródło
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
3ygun
źródło
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ń”.

user144437
źródło
18

W przypadku systemu Mac OS X:

pip install --ignore-installed six
Rochan
źródło
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.
SahanWickramage
źródło
1
pip install --ignore-installed six

Źródło: 1233 kciuki w górę w tym komentarzu

Tom Hale
źródło
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!

bcag2
źródło