web-dev-qa-db-fra.com

ImportError: Aucun module nommé argparse

J'essaie de lancer un programme Python mais j'obtiens l'erreur

ImportError: No module named argparse

J'ai trouvé la question "argparse Python modules in cli" ici sur StackOverflow et j'ai essayé le premier commentaire, c'est-à-dire en exécutant la commande

python -c "import argparse; print argparse"

qui a abouti à

<module 'argparse' from '/usr/lib/python2.7/argparse.pyc'>

Pour moi, il semble que Python 2.7 soit installé sur la machine (dont je ne suis pas administrateur) et que le module argparse est également présent. Je me demande donc pourquoi le module n'est pas trouvé. Sur un autre ordinateur, le script s'exécute comme il se doit. Dans l'article mentionné ci-dessus, il y a le commentaire que sys.path est peut-être cassé. Je ne sais pas ce que cela signifie ni comment je peux en changer la valeur. Des idées?

25
alex

Essayez d’installer argparse:

easy_install argparse
20
brdido

Sur CentOS, j'ai résolu ce problème avec yum install python-argparse. HT à LVA pour le nom de package correct.

7
Erik Veland

Sur un système Debian, vous pouvez utiliser la commande suivante pour installer le paquet argparse:

Sudo apt-get install python-argparse
6
LVA

Vous utilisez probablement en utilisant une version différente de Python avec votre script que celui que vous exécutez en ligne de commande. Assurez-vous que le script utilise cet interpréteur: /usr/lib/python2.7. Il est certain que cette installation a argparse, comme vous l'avez prouvé avec l'importation de votre premier message. 

Pourquoi votre script peut-il utiliser une autre installation Python? Cela peut être le résultat d'une ligne Shebang de la première ligne de votre script pouvant pointer vers un interpréteur Python différent sur lequel le module argparse n'est pas installé.

EDIT: Un autre problème peut être que votre script nettoie la liste sys.path, et ce serait très grave car tous les modules pré-installés ne seraient pas accessibles ...

4
Maxime Lorant

Exécutez cette commande: yum install -y python-argparse. Il peut résoudre ce problème lorsque vous êtes CentOS.

0
huang botao

Le module n’a pas été installé avec la version correcte de python. Il existe deux façons de résoudre ce problème. 

  1. Réinstallez python et le module
  2. Les chemins de changement de python sont montrés sur l’un de ces liens ( osx , windows (vous ne devriez pas avoir à faire cela sur windows j’ai choisi xp car c’est ce que j’exécute), linux

L'un d'eux devrait fonctionner, mais s'il n'essaie pas de redémarrer. BONNE CHANCE!! :) 

0
Suit Boy Apps

Si votre fichier source porte le même nom avec argparse et que vous le mettez dans le répertoire en cours avec vos scripts, vous pouvez rencontrer le problème.

0
liunx