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?
Essayez d’installer argparse
:
easy_install argparse
Sur CentOS, j'ai résolu ce problème avec yum install python-argparse
. HT à LVA pour le nom de package correct.
Sur un système Debian, vous pouvez utiliser la commande suivante pour installer le paquet argparse:
Sudo apt-get install python-argparse
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 ...
Exécutez cette commande: yum install -y python-argparse
. Il peut résoudre ce problème lorsque vous êtes CentOS.
Le module n’a pas été installé avec la version correcte de python. Il existe deux façons de résoudre ce problème.
L'un d'eux devrait fonctionner, mais s'il n'essaie pas de redémarrer. BONNE CHANCE!! :)
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.