ImportError: aucun module nommé six


103

J'essaye de construire un projet OpenERP, fait avec des dépendances. Il donne cette erreur maintenant

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

Quelqu'un pourrait-il expliquer ce qui ne va pas et comment le réparer ???


Au cas où six seraient stockés sous la mauvaise version de Python, voir mon [kludge] [1] [1]: stackoverflow.com/questions/26859356/error-no-module-named-six
— Prune

Réponses:


136

Vous n'avez probablement pas sixinstallé le module Python. Vous pouvez le trouver sur pypi .

Pour l'installer:

$ easy_install six

(si vous avez pipinstallé, utilisez à la pip install sixplace)


4
Je suis désolé, mais c'est une réponse très insuffisante. Pourquoi tant de modules pip n'installent-ils pas leurs dépendances?
— swade

1
Je n'ai aucune idée pourquoi certains modules python listent incorrectement leurs dépendances. Peut-être que l'auteur ne teste pas l'installation du module dans un chroot pour valider que les dépendances sont correctes.
— Sylvain Defresne

J'en avais besoin dans mon Pipfile pour une application Web. J'ai utilisé pipenv install six.
— Blaskovicz

@StevenWade Pour moi, j'ai trouvé que pip install git+...c'était le coupable; aucune profondeur n'a été suivie. L'installation de la version pypi, la désinstallation, puis l'installation de la version git + ont extrait les dépendances nécessaires, bien que cela semble idiot.
— tsbertalan

1
Sur Ubuntu pour Python 2.7, je l'ai installé avec sudo apt install python-six. Merci!
— wjandrea

37

Si pip "dit" six est installé mais que vous obtenez toujours:

ImportError: No module named six.moves

essayez de réinstaller six (a fonctionné pour moi):

pip uninstall six
pip install six

Comme vous l'avez dit, je pourrais résoudre le problème après avoir réinstallé six. Je vous remercie!
— seul

Pour moi aussi ... j'avais installé le package, mais software-properties-gtk échouait. Finalement, je l'ai retracé à une erreur d'importation dans six. Le package python3-six a été installé, mais le module ne se chargeait pas. J'ai réinstallé le module avec apt et le problème a été résolu.
— Tim Richardson

Très utile. Merci.
— keramat

21

Sur Ubuntu et Debian

apt-get install python-six

fait l'affaire.

À utiliser sudo apt-get install python-sixsi vous obtenez une erreur indiquant "autorisation refusée".


18

Pour Mac OS X:

pip install --ignore-installed six

2

J'ai fait ce qui suit pour résoudre le problème mentionné. J'ai eu le problème mentionné lorsque j'essayais d'exécuter l'exe construit, même si j'ai réussi à créer l'exe à l'aide de pyinstaller. J'ai fait cela sur Windows 10.

  1. allez sur https://pypi.org/project/six/#files
  2. télécharger "six-1.14.0.tar.gz (33,9 ko)"
  3. décompressez-le, copiez et collez "six.py" dans votre répertoire source.
  4. importez le module "six" dans votre code source (importez six)
  5. exécuter le script source.


1

sur Ubuntu Bionic (18.04), six est déjà installé pour python2 et python3 mais j'ai l'erreur de lancement de Wammu. @ 3ygun solution a fonctionné pour moi pour résoudre

ImportError: No module named six

lors du lancement de Wammu

Si cela s'est produit pour le programme python3, six sont livrés avec

pip3 install six

et si vous n'avez pas pip3:

apt install python3-pip

avec sudo sous Ubuntu!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.