Das Python-Modul urlparse kann nicht installiert werden

9

Einige in Python 2.7 geschriebene Programme beschweren sich darüber ImportError: No module named 'urlparse'. Ich muss das Modul installieren, kann es aber nicht. Das Modul existiert, es wird zB unter https://docs.python.org/2/library/urlparse.html beschrieben . Doch weder apt-get install, noch der pip installLage sind , ein Modul finden genannt urlparse, python-urlparse, urllib, python-urllib... - Ich bin Nachrichten wie immer Could not find any downloads that satisfy the requirement ...die einzige Ausnahme ist das Paket , python-urllib3das wahrscheinlich die benötigten Dateien enthält aber für Python 3 und Installation von denen hat nicht geholfen.

Ich habe installiert pip, nicht pip3da ich das Modul für Python 2 ( pip 1.4.1 from /usr/lib/python2.7/dist-packages (python 2.7)) brauche . Mein Ubuntu ist Xubuntu 13.10.

Wo ist das Problem bitte? Ist die pipSuche nach dem Modul an den richtigen Stellen? Ich weiß nicht, an welchen Orten es suchen soll ...

MoreFamed
quelle
Check out Ausgabe vonpip search urlparse
Kenn
urlparseist Teil der Standardbibliothek, dh sie wird automatisch zusammen mit Python selbst installiert. Sie können il nicht über apt, pip oder easy_install installieren.
Andrea Corbellini
Ubuntu 13.10 ist veraltet.
Ende

Antworten:

13

urlparseist Teil der Standard-Python 2-Bibliothek. Es wird als Teil von Python geliefert. es ist bei PyPI et al. nicht separat verpackt. urlparse.urlparse(die Funktion) wurde in Python 3 in umbenannt urllib.parse.

Also ein paar Dinge zu beachten:

  • Ihr Python 2-Programm wird möglicherweise unter Python 3 ausgeführt. Überprüfen Sie im Startskript, wie es die Python-Version auswählt. Es sollte wahrscheinlich starten, #!/usr/bin/env python2aber auch überprüfen (durch Ausführen env python2), ob Python 2 geladen wird.

  • Es wurde etwas gegessen /usr/lib/python2.7/urlparse.py. In diesem Fall installieren Sie das libpython2.7-stdlibPaket neu mit:

    sudo apt-get install --reinstall libpython2.7-stdlib
  • Oder Sie haben eine lokale Datei, die Unheil verursacht ...

Oli
quelle
11

Wenn Sie Code schreiben müssen, der Python2- und Python3-kompatibel ist, können Sie den folgenden Import verwenden

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

Wenn Sie Python 2 verwenden, installieren Sie es mit

pip install urlparse2
Waqar Detho
quelle