Não é possível instalar o módulo python urlparse

9

algum programa escrito em Python 2.7 reclama disso ImportError: No module named 'urlparse'. Então, eu preciso instalar o módulo, mas não consigo. O módulo existe, está descrito, por exemplo, em https://docs.python.org/2/library/urlparse.html . No entanto, nem apt-get install, nem pip installsão capazes de encontrar um módulo chamado urlparse, python-urlparse, urllib, python-urllib... - Estou recebendo mensagens como Could not find any downloads that satisfy the requirement ...A única exceção é o pacote python-urllib3que provavelmente contém os arquivos necessários, mas para Python 3 e instalação de que não ajudou.

Eu instalei pip, não pip3desde que eu preciso do módulo para Python 2 ( pip 1.4.1 from /usr/lib/python2.7/dist-packages (python 2.7)). Meu Ubuntu é o Xubuntu 13.10.

Onde está o problema, por favor? Está pipprocurando o módulo nos lugares certos? Não sei em quais locais ele deve procurar ...

MoreFamed
fonte
verifique a saída depip search urlparse
kenn
urlparsefaz parte da biblioteca padrão, ou seja, é automaticamente instalado junto com o próprio Python. Você não poderá instalar o il através do apt, pip ou easy_install.
Andrea Corbellini
O Ubuntu 13.10 está desatualizado.
enedil

Respostas:

13

urlparsefaz parte da biblioteca padrão do Python 2. É enviado como parte do Python; não é empacotado separadamente em PyPI et al. urlparse.urlparse(a função) foi renomeada no Python 3 para urllib.parse.

Então, algumas coisas a serem observadas:

  • Seu programa Python 2 pode estar em execução no Python 3. Verifique o script de inicialização para ver como ele escolhe qual versão do Python. Provavelmente deve começar, #!/usr/bin/env python2mas também verifique (executando env python2) se isso carrega o Python 2.

  • Algo comeu /usr/lib/python2.7/urlparse.py; nesse caso, reinstale o libpython2.7-stdlibpacote com:

    sudo apt-get install --reinstall libpython2.7-stdlib
  • Ou você tem um arquivo local causando travessuras ...

Oli
fonte
11

Se você precisar escrever um código compatível com Python2 e Python3, poderá usar a seguinte importação

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

Se você estiver usando o python 2, instale-o usando

pip install urlparse2
Waqar Detho
fonte