Установка 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'

PSip Python2 pip працює успішно. Вихід "який піп" та "піп --версія":

# 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). Цей шлях шляху доступний лише для пакетованої версії pip (у моєму випадку 9.0.1).

Після запуску pip3 install --upgrade pipверсія 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
Міранда,

2

Це те, що я вважаю корисним:

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

Хоча це, можливо, виправляє речі, ви можете, будь ласка, розширити свою відповідь? Навіщо видаляти цей каталог (можливо, додати застереження про python3.5шлях), чому ніколи не запускати його з судо і так далі ..
Роберт Ридл

Я не зовсім експерт з цього питання - я просто хотів поділитися тим, що працювало на мене.
Ян Лахнітт


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.