Не удается установить модуль python urlparse

9

какая-то программа, написанная на Python 2.7, жалуется, что ImportError: No module named 'urlparse' . Поэтому мне нужно установить модуль, но я не могу этого сделать. Модуль существует, он описан, например. на странице Ссылка . Однако ни apt-get install , ни pip install не могут найти модуль с именем urlparse , python-urlparse , urllib , python-urllib ... - Я получаю сообщения вроде Could not find any downloads that satisfy the requirement ... Единственное исключение это пакет python-urllib3 , который, вероятно, содержит необходимые файлы, но для Python 3 и установка которых не помогла.

Я установил pip , а не pip3 , так как мне нужен модуль для Python 2 ( pip 1.4.1 from /usr/lib/python2.7/dist-packages (python 2.7) ). Мой Ubuntu - Xubuntu 13.10.

Где проблема, пожалуйста? Является ли pip поиском модуля в нужных местах? Я не знаю, в каких местах он должен искать ...

    
задан MoreFamed 15.08.2014 в 09:32
источник

3 ответа

12

urlparse является частью стандартной библиотеки Python 2. Он поставляется как часть Python; он не упакован отдельно на PyPI и др. urlparse.urlparse (функция) было переименовано в Python 3 в urllib.parse .

Итак, несколько вещей, на которые нужно смотреть:

  • Ваша программа Python 2 может работать под Python 3. Проверьте сценарий запуска, чтобы узнать, как он выбирает версию Python. Вероятно, он должен начинать #!/usr/bin/env python2 , а также дважды проверять (запустив env python2 ), который загружает Python 2.

  • Что-то съел /usr/lib/python2.7/urlparse.py , и в этом случае переустановите пакет libpython2.7-stdlib с помощью:

    sudo apt-get install --reinstall libpython2.7-stdlib
    
  • Или у вас есть локальный файл, вызывающий вред ...

ответ дан Oli 15.08.2014 в 10:06
источник
9

Если вам нужно написать код, совместимый с Python2 и Python3, вы можете использовать следующий импорт

try:
    from urllib.parse import urlparse
except ImportError:
    from urlparse import urlparse
    
ответ дан Tully 05.12.2014 в 21:45
2

Если вы используете python 2, установите его с помощью

pip install urlparse2
    
ответ дан Waqar Detho 30.05.2016 в 10:30