pip3 "TypeError:" модуль "об'єкт не можна викликати" після оновлення


42

Я новачок у Python, я хочу встановити Jupyter Notebook в мою консоль, я ввожу наступне:

pip3 install --upgrade pip 

після цього у мене з’явилася помилка використовувати pip3 для встановлення іншої бібліотеки, консольний друк:

File "/usr/bin/pip3", line 11, in <module>
    sys.exit(main())
TypeError: 'module' object is not callable

Я не знаю, що мені робити.

Я sudo autoremove python3-pipпісля цього використовуюsudo apt install python3-pip


можливо, він імпортує частину вашого файлу замість очікуваного модуля, і у нього є проблеми запустити його - це може бути. main.py. Ви намагалися використовувати pipв іншій папці?
furas

1
У мене теж була така ж помилка.
Hyrial

Спасибі за отримання мене почалося - я перерахував свою процедуру закріпивши це stackoverflow.com/questions/34573159 / ...
jvonehr

Відповіді:


61

З посилання від Брема я просто біг python3 -m pip uninstall pip, і воно знову почало працювати.


3
Хтось може це пояснити?
Сайф Ур Рахман

5
@SaifUrRahman: З наданого посилання видно, що це конфлікт між специально встановленою для користувача пип-установкою (яка встановлюється / модернізується командою OPs) та глобальною установкою піп, що надається операційною системою.
vlz

5

Рішення, яке працювало для моєї ситуації, - це просто редагувати файл pip3.8 в середовищі ubuntu.

Спосіб1:

#!/path/to/.venv/bin/python3
# -*- coding: utf-8 -*-
import re
import sys

from pip._internal.main import main  # <--- look at this import statement! 

if __name__ == '__main__':
     sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
     sys.exit(main())

метод 2:

Основну функцію потрібно імпортувати, або ми можемо просто замінити рядок

sys.exit(main())

Як

sys.exit(main.main())

так! дякую за "метод №1"!
Ryan Loggerythm

метод №2 спрацював як шарм! Дякую!!!
Девід

Дякую! метод №2 працював на мене. Мені це нервує, тому що я боюся, що наступного разу оновлю /Applications/Xcode.app/Contents/Developer/usr/bin/pip3, це не вдасться.
Jetpack



1

У Windows редагуйте C: \ ProgramData \ Anaconda3 \ Scripts \ pip-script.py та замініть

# -*- coding: utf-8 -*-
import re
import sys
from pip._internal import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

Замініть останній рядок sys.exit (main.main ()).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.