Impossible d'installer le module python urlparse

9

certains programmes écrits en Python 2.7 se plaignent de cela ImportError: No module named 'urlparse'. Je dois donc installer le module, mais je ne suis pas en mesure de le faire. Le module existe, il est décrit par exemple sur https://docs.python.org/2/library/urlparse.html . Cependant, ni apt-get install, ni ne pip installsont en mesure de trouver un module nommé urlparse, python-urlparse, urllib, python-urllib... - Je reçois des messages comme Could not find any downloads that satisfy the requirement ...La seule exception est le package python-urllib3qui contient probablement les fichiers nécessaires mais pour Python 3 et dont l' installation n'a pas aidé.

J'ai installé pip, pas pip3depuis que 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? La piprecherche du module est-elle au bon endroit? Je ne sais pas dans quels endroits il devrait chercher ...

MoreFamed
la source
vérifier la sortie depip search urlparse
kenn
urlparsefait partie de la bibliothèque standard, c'est-à-dire qu'il est automatiquement installé avec Python lui-même. Vous ne pourrez pas l'installer via apt, pip ou easy_install.
Andrea Corbellini
Ubuntu 13.10 est obsolète.
enedil

Réponses:

13

urlparsefait partie de la bibliothèque Python 2 standard. Il est livré avec Python; il n'est pas conditionné séparément sur PyPI et al. urlparse.urlparse(la fonction) a été renommé en Python 3 en urllib.parse.

Donc, quelques choses à regarder:

  • Votre programme Python 2 peut être exécuté sous Python 3. Vérifiez le script de lancement pour voir comment il choisit quelle version de Python. Il devrait probablement démarrer #!/usr/bin/env python2mais aussi vérifier (en exécutant env python2) que cela charge Python 2.

  • Quelque chose a mangé /usr/lib/python2.7/urlparse.py, auquel cas réinstallez le libpython2.7-stdlibpackage avec:

    sudo apt-get install --reinstall libpython2.7-stdlib
  • Ou vous avez un fichier local causant des méfaits ...

Oli
la source
11

Si vous devez écrire du code compatible avec Python2 et Python3, vous pouvez utiliser l'importation suivante

try:
    from urllib.parse import urlparse
except ImportError:
    from urlparse import urlparse
Tully
la source
2

Si vous utilisez python 2, installez-le en utilisant

pip install urlparse2
Waqar Detho
la source