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.