python - unquote - no hay un módulo llamado urllib.parse(¿Cómo debo instalarlo?)
urllib python 3 (10)
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
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í:
-
yum install centos-release-SCL
-
yum install python33
-
scl enable python33
Visite this página para obtener más información sobre SCL
El problema fue porque tenía una versión más baja 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/
Incluya manualmente urllib.parse: https://docs.python.org/3.3/library/urllib.parse.html#module-urllib.parse
Instala six , 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, usa lo siguiente:
import urllib.parse
Para python 3 pip instalar urllib
encuentre el utils.py
en% PYTHON_HOME% / Lib / site-packages / solrcloudpy / utils.py
cambiar la import urlparse
a
from urllib import parse as urlparse
Quieres urlparse usando python2:
from urlparse import urlparse
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
python3
soporta urllib.parse
y python2
soporta 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
pip install -U websocket
Solo uso esto para solucionar mi problema