ImportError: нет модуля с именем шесть

103

Я пытаюсь создать проект OpenERP с зависимостями. Сейчас выдает эту ошибку

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

Может ли кто-нибудь подсказать, что не так и как это можно исправить ???

asadullah07
источник
В случае, если шесть хранятся под неправильной версией Python, см. Мой [kludge] [1] [1]: stackoverflow.com/questions/26859356/error-no-module-
named-

Ответы:

137

Вероятно, у вас не установлен sixмодуль Python. Вы можете найти его на pypi .

Чтобы установить его:

$ easy_install six

(если вы pipустановили, используйте pip install sixвместо этого)

Сильвен Дефресн
источник
6
Мне очень жаль, но этого очень не хватает. Почему так много модулей pip не устанавливают свои зависимости?
Swade
1
Понятия не имею, почему какой-то модуль python неправильно перечисляет свои зависимости. Возможно, автор не тестирует установку модуля в chroot, чтобы проверить правильность зависимостей.
Sylvain Defresne
Мне это было нужно в моем Pipfile для веб-приложения. Я использовал pipenv install six.
Blaskovicz
@StevenWade Я обнаружил, что виноват pip install git+...в этом; никаких депеш не отслеживалось. Установка версии pypi, удаление, а затем установка версии git + включает необходимые зависимости, хотя это кажется глупым.
tsbertalan
1
В Ubuntu для Python 2.7 я установил его с помощью sudo apt install python-six. Спасибо!
wjandrea
38

Если pip "говорит", что шесть установлено, но вы все равно получаете:

ImportError: No module named six.moves

попробуйте переустановить шесть (у меня сработало):

pip uninstall six
pip install six
3ygun
источник
Как вы сказали, я смог решить проблему после переустановки шести. Спасибо!
alones
Для меня также ... У меня был установлен пакет, но программа-свойства-gtk не работала. В конце концов я связал это с ошибкой импорта в шести. Пакет python3-six был установлен, но модуль не загружался. Я переустановил модуль с помощью apt, и проблема исправлена.
Тим Ричардсон
Очень полезно. Спасибо.
keramat
21

В Ubuntu и Debian

apt-get install python-six

делает свое дело.

Используйте, sudo apt-get install python-sixесли вы получаете сообщение об ошибке «В разрешении отказано».

user144437
источник
18

Для Mac OS X:

pip install --ignore-installed six
Рочан
источник
2

Для решения указанной проблемы я сделал следующее. У меня возникла упомянутая проблема, когда я пытался запустить встроенный exe, даже если я успешно построил exe с помощью pyinstaller. Я делал это в Windows 10.

  1. перейдите на https://pypi.org/project/six/#files
  2. скачать "six-1.14.0.tar.gz (33.9 kB)"
  3. разархивируйте его, скопируйте и вставьте "six.py" в исходный каталог.
  4. импортировать модуль "шесть" в исходный код (импортировать шесть)
  5. запустить исходный скрипт.
Сахан
источник
1

в Ubuntu Bionic (18.04) шесть уже установлены для python2 и python3, но у меня возникает ошибка при запуске Wammu. Решение @ 3ygun помогло мне решить

ImportError: No module named six

при запуске Вамму

Если это произошло с программой python3, шесть идут с

pip3 install six

и если у вас нет pip3:

apt install python3-pip

с sudo под Ubuntu!

bcag2
источник