2015-03-31 5 views
20

Ich versuche, ein REST-API auf CentOS 7 zu laufen, las ich urllib.parse in Python 3, aber ich bin mit Python 2.7.5, damit ich Ich weiß nicht, wie ich dieses Modul installieren soll.kein Modul mit dem Namen urllib.parse (Wie soll ich es installieren?)

Ich habe alle Anforderungen installiert, kann das Projekt jedoch nicht ausführen.

Als ich bin auf der Suche nach einer URL ich das bekommen (Ich bin die durchsuchbaren Schnittstelle):

Ausgang:

ImportError at /stamp/ 
No module named urllib.parse 

Antwort

12

Sie wollen urlparse python2 mit:

from urlparse import urlparse 
13

Mit den Informationen, die Sie angegeben haben, ist es am besten, Python 3.x zu verwenden.

Ihr Fehler deutet darauf hin, dass der Code für Python 3 gegeben geschrieben worden sein, dass es urllib.parse importieren will. Wenn Sie die Software geschrieben haben und die Kontrolle über den Quellcode haben, Sie sollten den Import ändern:

from urlparse import urlparse 

urllib wurde in urllib.parse gespalten, urllib.request und urllib.error in Python 3.

I schlagen vor, dass Sie einen kurzen Blick auf Software-Sammlungen in CentOS werfen, wenn Sie die Importe aus irgendeinem Grund nicht ändern können. Sie können in Python 3.3 wie diese bringen:

  1. yum install centos­-release­-SCL
  2. yum install python33
  3. scl enable python33

prüfen this Seite auf SCLs für weitere Informationen aus

0

Das Problem war, denn ich hatte eine niedrigere Version von Django (1.4.10), so benötigt Django Rest Framework mindestens Django 1.4.1 1 oder größer. Danke für ihre Antworten Jungs!

Hier der Link für die Anforderungen von Django Rest: http://www.django-rest-framework.org/

-4
pip install -U websocket 

Ich benutze dies nur mein Problem urllib

+0

Ich habe diese Antwort irgendwo gesehen, und selbst wenn das das Problem löst, weil es als Abhängigkeit wichtig ist, ist es nicht der richtige Weg, es zu lösen. – erm3nda

32

Wenn Sie Code schreiben müssen, die Python2 und Python3 kompatibel ist, können Sie die folgenden Import

try: 
    from urllib.parse import urlparse 
except ImportError: 
    from urlparse import urlparse 
+0

Antwort über py2 und py3 ist viel besser :-) – erm3nda

0

Für Python 3 verwenden Sie die folgende verwenden:

import urllib.parse 
3

für Python 3 pip installieren urllib

finden Sie die utils.py in% PYTHON_HOME% \ Lib \ Site-Pakete \ solrcloudpy \ utils.py

Änderung des import urlparse zu

from urllib import parse as urlparse 
0

Installieren six, der Python 2 und 3 Compatibility Library:

$ sudo -H pip install six 

es verwenden:

from six.moves.urllib.parse import urlparse 

(edit: Ich löschte die andere Antwort)