un programme écrit en Python 2.7 se plaint que ImportError: No module named 'urlparse'
. J'ai donc besoin d'installer le module, mais je ne suis pas capable de le faire. Le module existe, il est décrit par exemple. à https://docs.python.org/2/library/urlparse.html . Cependant, ni apt-get install
, ni pip install
ne peuvent trouver un module nommé urlparse
, python-urlparse
, urllib
, python-urllib
... - Je reçois des messages tels que Could not find any downloads that satisfy the requirement ...
. La seule exception est le paquet python-urllib3
qui contient probablement les fichiers nécessaires mais pour Python 3 et l'installation de ce qui n'a pas aidé.
J'ai installé pip
, pas pip3
car j'ai besoin du module pour Python 2 (pip 1.4.1 from /usr/lib/python2.7/dist-packages (python 2.7)
). Mon Ubuntu est Xubuntu 13.10.
Où est le problème, s'il vous plaît? pip
recherche-t-il le module aux bons endroits? Je ne sais pas dans quels endroits il faut chercher ...
urlparse
fait partie de la bibliothèque standard Python 2. Il est livré avec Python. il n'est pas emballé séparément sur PyPI et al. urlparse.urlparse
(la fonction) a été renommé dans Python 3 en urllib.parse
.
Alors, quelques choses à regarder:
Votre programme Python 2 s'exécute peut-être sous Python 3. Vérifiez le script de lancement pour savoir comment il sélectionne quelle version de Python. Il devrait probablement commencer #!/usr/bin/env python2
mais également vérifier (en exécutant env python2
) que cela charge jusqu'à Python 2.
Quelque chose a mangé /usr/lib/python2.7/urlparse.py
, auquel cas réinstaller le paquet libpython2.7-stdlib
avec:
Sudo apt-get install --reinstall libpython2.7-stdlib
Ou vous avez un fichier local causant des dommages ...
Si vous devez écrire du code compatible avec Python2 et Python3, vous pouvez utiliser le programme d’importation suivant.
try:
from urllib.parse import urlparse
except ImportError:
from urlparse import urlparse
Si vous utilisez python 2, installez-le en utilisant
pip install urlparse2