No se puede instalar el módulo de python urlparse


9

algún programa escrito en Python 2.7 se queja de eso ImportError: No module named 'urlparse'. Necesito instalar el módulo, pero no puedo hacerlo. El módulo existe, se describe, por ejemplo, en https://docs.python.org/2/library/urlparse.html . Sin embargo, ninguno apt-get install, ni pip installson capaces de encontrar un módulo llamado urlparse, python-urlparse, urllib, python-urllib... - Estoy recibiendo mensajes como Could not find any downloads that satisfy the requirement ...La única excepción es el paquete python-urllib3que probablemente contiene los archivos necesarios, pero para Python 3 y la instalación de las cuales no ayudó.

He instalado pip, no pip3desde que necesito el módulo para Python 2 ( pip 1.4.1 from /usr/lib/python2.7/dist-packages (python 2.7)). Mi Ubuntu es Xubuntu 13.10.

¿Dónde está el problema, por favor? ¿Está pipbuscando el módulo en los lugares correctos? No sé en qué ubicaciones debería buscar ...


salida de salida depip search urlparse
kenn

urlparsees parte de la biblioteca estándar, es decir, se instala automáticamente junto con Python. No podrá instalar il a través de apt, pip o easy_install.
Andrea Corbellini el

Ubuntu 13.10 está desactualizado.
enedil

Respuestas:


13

urlparsees parte de la biblioteca estándar de Python 2. Se envía como parte de Python; no está empaquetado por separado en PyPI et al. urlparse.urlparse(la función) fue renombrada en Python 3 a urllib.parse.

Entonces, algunas cosas a tener en cuenta:

  • Su programa Python 2 podría estar ejecutándose en Python 3. Verifique el script de inicio para ver cómo selecciona qué versión de Python. Probablemente debería comenzar, #!/usr/bin/env python2pero también verificar (ejecutando env python2) que eso carga Python 2.

  • Algo ha comido /usr/lib/python2.7/urlparse.py, en cuyo caso reinstale el libpython2.7-stdlibpaquete con:

    sudo apt-get install --reinstall libpython2.7-stdlib
  • O tienes un archivo local que causa daños ...


11

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.