no hay un módulo llamado urllib.parse (¿Cómo debo instalarlo?)

Estoy intentando ejecutar una API REST en CentOS 7, leí que urllib.parse está en Python 3, pero estoy usando Python 2.7.5, así que no sé cómo instalar este módulo.

Instalé todos los requisitos pero aún no puedo ejecutar el proyecto.

Cuando busco una URL, obtengo esto (estoy usando la interfaz de navegación):

Salida:

ImportError at /stamp/ No module named urllib.parse 

Si necesita escribir código que sea compatible con Python2 y Python3 puede usar la siguiente importación

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

Quieres urlparse usando python2:

 from urlparse import urlparse 

Con la información que ha proporcionado, lo mejor será usar Python 3.x.

Su error sugiere que el código puede haber sido escrito para Python 3 dado que está intentando importar urllib.parse . Si ha escrito el software y tiene control sobre su código fuente, debe cambiar la importación a:

 from urlparse import urlparse 

urllib se dividió en urllib.parse , urllib.request y urllib.error en Python 3.

Le sugiero que eche un vistazo rápido a las colecciones de software en CentOS si no puede cambiar las importaciones por algún motivo. Puedes traer Python 3.3 así:

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

Visite esta página para obtener más información sobre SCL

python3 admite urllib.parse y python2 admite urlparse

Si desea que ambos sean compatibles, entonces el siguiente código puede ayudar.

 import sys if ((3, 0) <= sys.version_info <= (3, 9)): from urllib.parse import urlparse elif ((2, 0) <= sys.version_info <= (2, 9)): from urlparse import urlparse 

Instala seis , la biblioteca de compatibilidad de Python 2 y 3:

 $ sudo -H pip install six 

Úsalo:

 from six.moves.urllib.parse import urlparse 

(edit: he eliminado la otra respuesta)

Para python 3 pip instalar urllib

encuentra el utils.py en% PYTHON_HOME% \ Lib \ site-packages \ solrcloudpy \ utils.py

cambiar la import urlparse a

 from urllib import parse as urlparse 

Para Python 3, usa lo siguiente:

 import urllib.parse 

El problema fue porque tenía una versión inferior de Django (1.4.10), por lo que Django Rest Framework necesita al menos Django 1.4.11 o superior. Gracias por sus respuestas chicos!

Aquí el enlace para los requisitos de Django Rest: http://www.django-rest-framework.org/

 pip install -U websocket 

Solo uso esto para solucionar mi problema