Установка Python3 pip3 не работает в Ubuntu


14

Я успешно установил python3 и pip3 на свою Ubuntu16.04, но установка pip3 не работает. Как я могу решить эту проблему? Информация об ошибке pip3 installследующая:

# pip3 install xlwt
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
  from pip import main
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 21, in <module>
  from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
ModuleNotFoundError: No module named 'pip._vendor.requests'

Выход из sudo -H pip3 install --upgrade pip

sudo -H pip3 install --upgrade pip  
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
  from pip import main
File "/usr/lib/python3/dist-packages/pip/__init__.py", line 21, in <module>
  from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
ModuleNotFoundError: No module named 'pip._vendor.requests'

Вывод which pip3и pip3 --version:

# which pip3
/usr/bin/pip3

# pip3 --version
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
  File "/usr/lib/python3/dist-packages/pip/__init__.py", line 21, in <module>
    from pip._vendor.requests.packages.urllib3.exceptions import DependencyWarning
ModuleNotFoundError: No module named 'pip._vendor.requests'

PS Python2 pip успешно работает. Выходные данные "which pip" и "pip --version":

# which pip
/usr/bin/pip

# pip --version
pip 1.5.4 from /usr/local/lib/python2.7/dist-packages/pip-1.5.4-py2.7.egg (python 2.7)

И информация по установке python и python3:

# which python
/usr/bin/python
# which python3
/usr/bin/python3

# python -V
Python 2.7.14
# python3 -V
Python 3.6.3  

Вы сказали 16.04 в своем посте, но использовали тег 14.04. Какая версия верна?
edwinksl

1
16.04 правильно. Я не могу найти тег 16.04 только сейчас. Сожалею.
mlpy

Ответы:


12

Что-то не так с вашим pip3, поэтому удалите его и переустановите. Откройте терминал и введите:

sudo apt purge python3-pip  
sudo rm -rf '/usr/lib/python3/dist-packages/pip'  
sudo apt install python3-pip   
cd
cd .local/lib/python3/site-packages
sudo rm -rf pip*  
cd
cd .local/lib/python3.5/site-packages
sudo rm -rf pip*  
python3 -m pip install --user xlwt

3
Я пытался, но все еще та же ошибка: imgur.com/a/nAdqU .
mlpy

Я пробовал новое решение, но ошибка все та же.
mlpy

У меня тоже такая же проблема. Когда я это делаю sudo apt install python3-pip, я получаю следующую ошибку:The following packages have unmet dependencies: python3-pip : Depends: python-pip-whl (= 8.1.1-2) but 8.1.1-2ubuntu0.4 is to be installed Recommends: build-essential but it is not going to be installed Recommends: python3-dev (>= 3.2) but it is not going to be installed Recommends: python3-wheel but it is not going to be installed E: Unable to correct problems, you have held broken packages.
Kristada673

@ Kristada673 Попробуйте прочитать ответы на этот вопрос: askubuntu.com/questions/363200/… . Ответ DragonLord работал на меня.
Карел

6

При установке пакета python3-pip создайте скрипт python в файле / usr / bin / pip3. Для запуска функцию main () необходимо импортировать из модуля pip ( from pip import main). Этот путь метода доступен только для упакованной версии пипса (в моем случае 9.0.1).

После запуска pip3 install --upgrade pipверсия пипа становится 18.1, а main () перемещена внутрь pip._internal.

Используйте команду, python3 -m pip --versionчтобы увидеть, соответствует ли ваш случай той же ситуации (pip3 также доступен с этим методом, когда он не /usr/bin/pip3работает).

Если это так, в файле / usr / bin / pip3 замените строку 9: from pip import main на: from pip._internal import main

Проблема будет исправлена. (Проверено на дистрибутиве Ubuntu 18.04)


После того, как я изменил импорт, появляется другая ошибкаFile "/usr/bin/pip3", line 11, in <module> sys.exit(main()) TypeError: 'module' object is not callable
Miranda

2

Вот что я нашел полезным:

  1. sudo rm -rf /usr/local/lib/python3.5/dist-packages
  2. Никогда не бегай pip3внутри sudo.

Хотя, возможно, это все исправляет, не могли бы вы расширить свой ответ? Зачем удалять этот каталог (возможно, добавить предупреждение о python3.5пути), почему никогда не запускать его с помощью sudo и т. Д.
Роберт Ридл,

Я не совсем эксперт в этом - я просто хотел поделиться тем, что сработало для меня.
Ян Лахнитт


1

Сначала удалите поврежденный pip3:

rm /user/bin/pip3 /user/local/bin/pip3

Переустановите новый:

sudo apt-get remove python3-pip
sudo apt-get install python3-pip

0

Была такая же проблема, установка openssl исправила это для меня


Но openssl уже установлен на моем Ubuntu: imgur.com/a/60kIM . Может быть, это вызвано другой причиной.
mlpy

0

Как упомянул @Vincent H., я столкнулся с той же проблемой.

Traceback (последний вызов был последним): файл "/home/ashish/.local/bin/pip3", строка 7, из pip._internal import main ImportError: Нет модуля с именем 'pip._internal'

Исправление к этому вопросу должен был заменить pip._internalна pipв .local/bin/pip3делая sudo gedit .local/bin/pip3.


0

Это проблема, но вы можете решить.

rm /user/bin/pip3 /user/local/bin/pip
sudo apt-get remove python-pip

чем переустановить

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