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

Чи може хтось керувати тим, що не так, і як це можна виправити ???


У випадку, якщо шість зберігається під неправильною версією Python, дивіться мій [kludge] [1] [1]: stackoverflow.com/questions/26859356/error-no-module-named-six
Prune

Відповіді:


136

Можливо, sixмодуль Python не встановлений. Ви можете знайти його на піпі .

Щоб встановити його:

$ easy_install six

(якщо ви pipвстановили, використовуйте pip install sixзамість цього)


4
Перепрошую, але це дуже нестача відповідь. Чому так багато модулів pip не встановлюють свої залежності?
заплив

1
Я поняття не маю, чому деякі модулі python неправильно перераховують свої залежності. Можливо, автор не перевіряє встановлення модуля в chroot для перевірки правильності залежностей.
Sylvain Defresne

Мені це було потрібно в моєму Pipfile для веб-програми. Я звик pipenv install six.
Blaskovicz

@StevenWade Для мене я виявив, що pip install git+...це винуватець; ніяких деп не дотримувалися. Встановлення версії pypi, видалення та встановлення версії git + у необхідних залежності, хоча це здається нерозумним.
цберталан

1
На Ubuntu для Python 2.7 я встановив його sudo apt install python-six. Дякую!
wjandrea

37

Якщо піп "каже" встановлено шість, але ви все ще отримуєте:

ImportError: No module named six.moves

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

pip uninstall six
pip install six

Як ви сказали, я можу виправити проблему після перевстановлення шести. Дякую!
алонес

Для мене також ... У мене був встановлений пакет, але програмні властивості-gtk вийшли з ладу. Врешті-решт я простежив це до помилки імпорту через шість. Пакет python3-Six був встановлений, але модуль не завантажувався. Я перевстановив модуль з apt, і виправлена ​​проблема.
Тім Річардсон

Дуже корисний. Дякую.
керамат

21

На Ubuntu та Debian

apt-get install python-six

робить трюк.

Використовуйте, sudo apt-get install python-sixякщо ви отримаєте помилку з написом "дозвіл відмовлено".



2

Для вирішення зазначеної проблеми я зробив наступне. Згадану проблему я отримав, коли намагався запустити вбудований exe, навіть успішно побудував exe за допомогою pyinstaller. Я робив це в Windows 10.

  1. перейдіть на сторінку https://pypi.org/project/six/#files
  2. завантажити "шість-1.14.0.tar.gz (33,9 кБ)"
  3. розпакуйте його, скопіюйте та вставте "Six.py" у свій вихідний каталог.
  4. імпорт модуля "шість" у ваш вихідний код (імпорт шести)
  5. запустити сценарій джерела.


1

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

ImportError: No module named six

при запуску Wammu

Якщо це трапляється для програми python3, приходить шість

pip3 install six

а якщо у вас немає pip3:

apt install python3-pip

з судо під Ubuntu!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.