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 ...


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 ...


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

2

Si vous utilisez python 2, installez-le en utilisant

pip install urlparse2
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.