Невозможно установить модуль Python urlparse


9

некоторые программы, написанные на Python 2.7, жалуются на это ImportError: No module named 'urlparse'. Поэтому мне нужно установить модуль, но я не могу это сделать. Модуль существует, он описан, например, по адресу https://docs.python.org/2/library/urlparse.html . Тем не менее, ни 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поиск для модуля в нужных местах? Я не знаю, в каких местах он должен искать ...


проверить выводpip search urlparse
Кенн

urlparseявляется частью стандартной библиотеки, то есть автоматически устанавливается вместе с самим Python. Вы не сможете установить il через apt, pip или easy_install.
Андреа Корбеллини

Ubuntu 13.10 устарела.
enedil

Ответы:


13

urlparseявляется частью стандартной библиотеки Python 2. Он поставляется как часть Python; он не упакован отдельно в PyPI et al. 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
  • Или у вас есть локальный файл, вызывающий вред ...


11

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.