Помилка після оновлення pip: не можна імпортувати ім’я 'main'


467

Щоразу, коли я намагаюся встановити будь-який пакет за допомогою pip, я отримую цю помилку імпорту:

guru@guru-notebook:~$ pip3 install numpy
Traceback (most recent call last):
  File "/usr/bin/pip3", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'


guru@guru-notebook:~$ cat `which pip3`
#!/usr/bin/python3
# GENERATED BY DEBIAN

import sys

# Run the main entry point, similarly to how setuptools does it, but because
# we didn't install the actual entry point from setup.py, don't use the
# pkg_resources API.
from pip import main
if __name__ == '__main__':
    sys.exit(main())

Раніше це працювало нормально, я не впевнений, чому він кидає цю помилку. Я шукав про цю помилку, але не можу знайти нічого, щоб її виправити.

Будь ласка, дайте мені знати, якщо вам потрібні додаткові деталі, я оновлю своє запитання.


1
Додаткова дискусія за цим посиланням .
Діагон

7
У мене була така ж проблема, тому що я pip install --upgrade pipоновлював pip на сервері, де я не маю привілеїв адміністратора. Видалення Pip із python -m pip uninstall pipвирішеною моєю проблемою.
Foad

Відповіді мені не допомогли. Це моє питання: github.com/pypa/pipenv/isissue/2095
Étienne

Відповіді:


846

Ви, мабуть, ненавмисно оновили системний піп (можливо, через щось подібне sudo pip install pip --upgrade)

pip 10.x регулює, де розташовані її внутрішні місця. pip3Команда , яку ви бачите , це один наданий супроводжуючим пакунка (імовірно DEBiAN на основі тут?) І чи не є файлом під управлінням піп.

Докладніше про це ви можете прочитати в трекері випуску програми

Ви, ймовірно, захочете не оновлювати системний pip, а замість цього використовувати virtualenv.

Щоб відновити pip3двійковий файл, вам потрібно буде sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall.

Якщо ви хочете продовжити на "непідтримуваній території" (оновлення системного пакету поза менеджером системного пакету), ви, ймовірно, можете піти python3 -m pip ...замість цього pip3.


28
sudo apt install python3-pip --reinstallпроблему не виправлено, проте я можу встановити пакет за допомогою python3 -m pip. Спасибі за вашу допомогу. Я відзначаю це як прийняте.
g_p

2
@g_p оновив вказівки "виправлення" - просто перевірив їх у докері (я мав би це зробити вперше!)
Ентоні Соттіл

5
Мені потрібно використовувати команду "python -m pip uninstall pip", як "sudo pip uninstall pip" дав аналогічну помилку з початковим запитанням
Mz A

41
Дякую! Це допомогло! Використовуйте sudo python -m pip uninstall pip && sudo apt install python-pip --reinstallдля python2!
Barmaley

1
Працює для Ubuntu в Windows. Рішення - це те, що @Barmaley пропонує для python2 (інтерпретатор пітона за замовчуванням).
jdhao

110

Ми можемо усунути помилку, змінивши файл pip.

Перевірте розташування файлу:

$ which pip

шлях -> / usr / bin / pip

Перейдіть до цього місця ( / usr / bin / pip ) та відкрийте термінал

Введіть: $ sudo nano pip

Ти можеш бачити:

import sys
from pip import main
if __name__ == '__main__':
     sys.exit(main())

Перейти:

import sys
from pip import __main__
if __name__ == '__main__':
     sys.exit(__main__._main())

потім ctrl + o запишіть зміни та вийдіть

Сподіваюсь, це зробить !!


1
Внесення цих змін не усунуло проблему, але повернення її до початкового тексту було зроблено. ¯_ (ツ) _ / ¯
Девід

2
Я спробував це, але отримавAttributeError: module 'pip.__main__' has no attribute 'main'
dnnagy

4
Переконайтеся, що ви написали _main () not main ()
vijay athithya

2
в останній версії pip3, то main()переміщається pip._internal. Заяву про імпорт слід змінити наfrom pip._internal import main
Yossarian42

2
Працював як шарм! Спасибі
mahesh nanayakkara

69

Для користувачів сімейства Ubuntu, Debian, Linux Mint

Завдяки поясненню Ентоні вище , ви можете зберегти свій початковий системний піп (in / usr / bin / та dist-пакети /) та видалити встановлений вручну pip (у ~ / .local /) для вирішення конфлікту:

$ python3 -m pip uninstall pip

Ubuntu / Debian pip v8.1.1 (16.04) з python3-pipпакета debian (див. $ pip3 -V) Показує ті самі результати пошуку, що і останній pip v10.0.1, і встановлює останні модулі з PyPI просто чудово. У ньому є робоча pipкоманда (вже в $ PATH), а також приємний --userваріант, який за замовчуванням вбудований за 2016 рік. Переглядаючи нотатки про випуск файлів , новіші версії переважно стосуються виправлень помилок щодо конкретних випадків використання та певних нових функцій, так що не всі ще повинні поспішати з оновленням Pip. І новий pip 10 так чи інакше можна розгорнути на Python virtualenvs.

Але незалежно від піпсов, ваша ОС дозволяє швидко встановлювати звичайні модулі Python (включаючи numpy) з APT, без необхідності в pip, наприклад:
$ sudo apt install python3-numpy python3-scipy(із системними залежностями)
$ sudo apt install python3-pip(Depp-patched pip, трохи старше, але це не має значення)

Швидке нагадування про синтаксис (див. man aptПодробиці):
$ sudo apt update(для повторної синхронізації файлів індексу пакету Ubuntu з оновлених джерел)
$ apt search <python-package-name> (повний пошук тексту за всіма доступними пакетами)
$ apt show <python-package-name>(відображає детальний опис пакета)
$ sudo apt install <python-package-name>

Назви пакетів з префіксом python-призначені для Python 2; і з префіксом python3-для є для Python 3 (наприклад, python3-панди). Їх тисячі, і вони проходять інтеграційні тестування в Debian і Ubuntu. Якщо ви не прагнете встановити на рівні користувача ( pip install --userопція) або в межах virtualenv / venv, apt може бути тим, що вам потрібно. Ці системні пакети доступні і з віртуальних envs, оскільки virtualenv витончено перейде до використання системних бібліотек для імпорту, якщо ваші ENV не мають копій модулів. Ваші встановлені на замовлення (з піп --user) модулями для кожного користувача в ~/.local/libних також перекриють.

Зверніть увагу, оскільки це загальносистемна установка, вам рідко потрібно буде їх видаляти (потрібно пам’ятати про залежності ОС). Це зручно для пакетів із багатьма системними залежностями (наприклад, з scipy чи matplotlib), оскільки APT буде відслідковувати та надавати всі необхідні системні libs та розширення C, тоді як з pip у вас немає таких гарантій .

Насправді, для загальносистемних пакетів Python (на відміну від користувача, рівня домашнього dir або нижче) Ubuntu розраховує використовувати менеджер пакетів APT (а не sudo pip), щоб уникнути злому ОС: sudo pip3націлює на той самий /usr/lib/python3/dist-packagesкаталог, де APT зберігає ОС -чутливі модулі. Останні випуски Debian / Ubuntu сильно залежать від Python 3, тому його попередньо встановлені модулі керуються aptі не повинні змінюватися.

Отже, якщо ви використовуєте pip3 installкоманду, переконайтеся, що вона працює в ізольованому віртуальному середовищі розробників, наприклад, з virtualenv ( sudo apt install python3-virtualenv), або із вбудованим Python3 ( -m venv), або на рівні користувача ( --userопція pip, за замовчуванням у наданій Ubuntu pip з 2016 року), але не загальносистемний (ніколи sudo pip3!), оскільки pip заважає роботі менеджера пакетів APT і може впливати на компоненти Ubuntu OS, коли несподівано змінений використовуваний системою модуль python. Удачі!


P. S. Все вищезазначене - для «ідеального» рішення (спосіб Debian / Ubuntu).

Якщо ви все ще хочете ексклюзивно використовувати новий pip3 v10, є 3 швидких способи вирішення:

  • просто відкрийте новий сеанс bash (нова вкладка або термінал bash) - і pip3 v10 стане доступним (див. pip3 -V). pip3 v8 debian залишається встановленим, але порушено; або
  • команда $ hash -d pip3 && pip3 -V оновити ім'я шляху pip3 в $ PATH. pip3 v8 debian залишається встановленим, але порушено; або
  • команда $ sudo apt remove python3-pip && hash -d pip3повністю видалити pip3 v8 debian, на користь вашого нового pip3 v10.

Примітка: Вам завжди потрібно буде додати --userпрапор до будь-якого непідтримуваного файлу, якщо ви не знаходитесь у virtualenv! (він розгортає пакети python до ~/.local/, за замовчуванням у наданих debian / ubuntu python3-pip та python-pip з 2016 року). Ваше використання системи pip 10, за межами virtualenv, не дуже підтримується Ubuntu / Debian. Ніколи sudo pip3!

Детальніша інформація:
https://github.com/pypa/pip/isissue/5221#issuecomment-382069604
https://github.com/pypa/pip/isissue/5240#issuecomment-381673100


Можете чи ви допомогти мені зрозуміти , чому установку оновленої версії pip локально з --user, тобто без sudo, впливає на мою здатність працювати за влучним встановлені pip? Я думав, що вони будуть співіснувати. Але як показує ця суть, вдалий встановлений один перерву після мене python3 -m pip install --user --upgrade pip. Я не шукаю рішення - мені просто щиро цікаво зрозуміти, що тут відбувається.
Джордж Хокінс

1
@George Це відбувається через невідповідність між бібліотеками pip та її обгортками, які їх імпортують. Спроба запустити системну команду pip негайно (не застосовуючи жодне з рішень ) все одно викликатиме встановлену apt системну версію сценарію обгортки pip, /usr/bin/pip3а не встановлену як --user( ~/.local/bin/pip*) відповідно до ОС ОС $ PATH, яка все ще встановлена ​​для запуску програми системна версія обгортки, але не її бібліотеки ..
Алекс С.

2
@George Це пояснюється тим, що зараз встановлено новіший пакет піп, ~/.local/lib/python3.?/site-packages/pipякий має перевагу над придатною системою у відносному імпорті Python (місцевий користувальницький сайт має пріоритет над глобальними лібсами). І тому, що старша обгортка намагається from pip import mainзамість цього from pip._internalабо його __main__класу проти нової версії пакету pip, команда pip із суті не спрацьовує ImportError: cannot import name 'main'. Тож обидва піпса можуть співіснувати (на диску), але функціональність оригінальної системи буде "порушена" ..
Алекс С.

+1 для --user . pip install --userце те, що зробило це для мене. (У мене є python 2.7, python 3.6 та python 3.7, усі вони встановлені на Ubuntu 18.04 LTS.)
Stephen G Tuggy

46

вирішується лише за один крок

Я теж зіткнувся з цією проблемою, але це можна вирішити просто за допомогою 1 команди, не турбуючись і витрачаючи час, і я спробував це на кількох системах, це найчистіше рішення цього питання. І це:

Для python3: - sudo python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall.

Цим ви можете просто встановити пакети за допомогою pip3. перевірити використання pip3 --version.

Для більш старих версій, використовуйте: sudo python -m pip uninstall pip && sudo apt install python-pip --reinstall.

Таким чином, тепер ви можете просто встановити пакети за допомогою pip . перевірити використання pip --version.


31

Використовуйте python -m pip installзамістьpip install

Приклад:

python -m pip install --user somepackage
python3 -m pip install --user somepackage

Виконавчий файл pip(відповідно pip3) надається вашим дистрибутивом ( python-pipпакунок на Ubuntu 16.04) і знаходиться за адресою /usr/bin/pip.

Таким чином, він не pipоновлюється з самим пакетом під час оновлення pip і може зламатися.

Якщо ви просто використовуєте python -m pipбезпосередньо, наприклад, як:

python -m pip install --user somepackage
python3 -m pip install --user somepackage

він проходить ваш шлях Python, знаходить останню версію pip та виконує цей файл.

Він покладається на те, що файл виконується через файл import, але це дуже стандартний тип інтерфейсу, і тому менше шансів зламатись, ніж хакірський сценарій Debian.

Тоді рекомендую додати до свого псевдоніма такі .bashrc:

pip() ( python -m pip "$@" )
pip3() ( python3 -m pip "$@" )

Файл Ubuntu 18.04 /usr/bin/pip3робить:

from pip import main

і, імовірно, mainбув видалений зpip якогось моменту, який саме зламав речі.

Здійснюється переривчастий піп-код : 95bcf8c5f6394298035a7332c441868f3b0169f4 "Перемістити всі внутрішні API на pip._internal", який перейшов у pip 18.0.

Тестували в Ubuntu 16.04 після оновлення з pip39.0.1 до 18.0.

pyenv

Зрештою, для серйозної розробки Python я б просто рекомендував вам встановити свій власний локальний Python з pyenv + virtualenv, який би також обійшов цю помилку Ubuntu: /ubuntu/682869/how-do-i- install-a-different-python-version-using-apt-get / 1195153 # 1195153


3
після 5 годин пошуку, це працювало для мене. я можу доставити вам квітку, якщо ви надішлете мені свою адресу. Дякую тобі.
cagri

18

Вирішити цю проблему можна, перевстановивши pip.

Використовуйте одну з таких команд командного рядка, щоб перевстановити pip:

Python2:

python -m pip uninstall pip && sudo apt install python-pip --reinstall

Python3:

 python3 -m pip uninstall pip && sudo apt install python3-pip --reinstall

16

Перевірте, чи не було кепіровано pip на іншому шляху, для цього зателефонуйте $ that pip та переконайтеся, що шлях відрізняється від того, який буде запропоновано помилкою, якщо це так:

$ hash -r

Коли кеш буде очищено, pip знову запрацює. довідка: http://cheng.logdown.com/posts/2015/06/14/-usr-bin-pip-no-such-file-or-directory


8

Я працюю в системі, де у мене є sudo apt, але немає судо-піп. (І немає доступу.) Я потрапив у цю саму ситуацію, дотримуючись порад від pip:

Ви використовуєте pip версії 8.1.1, проте доступна версія 18.0. Вам слід розглянути можливість оновлення за допомогою команди "pip install - nadograd pip".

Жоден з інших виправлень не працював для мене, тому що у мене недостатньо привілеїв адміністратора. Однак декілька речей, що зациклювались на мені від читання цього:

  • Я не повинен був цього робити. Звичайно, Піп сказав мені. Це брехало.
  • Використання --user вирішує безліч проблем, зосереджуючись на каталозі, призначеному лише для користувачів.

Отже, я знайшов цей командний рядок спрацьованим, щоб повернути мене туди, де я був. Якщо ви використовували іншу версію, ніж 8.1.1, ви, очевидно, захочете змінити цю частину рядка.

python -m pip install --force-reinstall pip==8.1.1 --user

Це єдине, що працювало для мене, але воно працювало чудово!


7

Відновити за допомогою python3 -m pip install --user pip==9.0.1(або версії, яка працювала)


5

Те саме трапилося і з Pixelbook, використовуючи новий LXC (strech). Це рішення дуже схоже на прийняте, з однією тонкою різницею, яка зафіксувала для мене фіксований pip3.

sudo python3 -m pip install --upgrade pip

Це натрапило на версію, і тепер вона працює як очікувалося.

Я знайшов це тут ... Python.org: Переконайтесь, що файл пізніше оновлений


4

Я зіткнувся з тією ж проблемою в моїй системі Ubuntu 16.04. Мені вдалося виправити це заново, встановивши pip за допомогою наступної команди:

curl https://bootstrap.pypa.io/get-pip.py | sudo python3


Це вигідно, що ви встановите його з джерела, і жодне з перерахованих вище не працювало над чистою порожньою Debian 9 (від мого спеціалізованого провайдера сервера)
Пітер Роузман

завиваючи Інтернет супер користувачеві, що може піти не так!
Sum1sAdmin

3

Наведені вище команди не працювали для мене, але вони були дуже корисними:

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*  
sudo pip3 install jupyter

2

У ubuntu 18.04.1 Bionic Beaver вам потрібно вийти з системи та знову увійти (перезавантажити не потрібно), щоб отримати належне середовище.

$ sudo apt install python-pip

$ pip --version
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ pip install --upgrade pip

$ pip --version
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

$ exit
<login>

$ pip --version
pip 18.1 from /home/test/.local/lib/python2.7/site-packages/pip (python 2.7)

1

Я використовую sudo apt remove python3-pip тоді pipроботи.

 ~ sudo pip install pip --upgrade
[sudo] password for sen: 
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name 'main'
  ~ sudo apt remove python3-pip   
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libexpat1-dev libpython3-dev libpython3.5-dev python-pip-whl python3-dev python3-wheel
  python3.5-dev
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  python3-pip
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 569 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 215769 files and directories currently installed.)
Removing python3-pip (8.1.1-2ubuntu0.4) ...
Processing triggers for man-db (2.7.5-1) ...
  ~ pip

Usage:   
  pip <command> [options]

1
Це тому pip, що для Python 2. OP використовує pip3версію Python 3 pip, яку ви тільки що видалили. Ці два є виразними і не є взаємозамінними.
Нейнштейн

1

Для версії Python 2.7 @Anthony працює ідеально, змінивши python3 на python наступним чином:

sudo python -m pip uninstall pip && sudo apt install python-pip --reinstall

1

Що допомогло мені виправити помилку з використанням pip3:

sudo cp -v /usr/local/bin/pip3 /usr/bin/pip3

Все працює:

 demon@UbuntuHP:~$ pip -V
 pip 10.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

 demon@UbuntuHP:~$ pip2 -V
 pip 10.0.1 from /home/demon/.local/lib/python2.7/site-packages/pip (python 2.7)

 demon@UbuntuHP:~$ pip3 -V
 pip 10.0.1 from /usr/local/lib/python3.5/dist-packages/pip (python 3.5)

Можливо, нова версія 10.0.1 pip не оновлює бінарний файл в / usr / bin? (що, здається, ні)

EDIT: та сама проблема виникає в Ubuntu 18.04. Краще рішення , яке я знайшов це символічна посилання ПГИ бінарники від /home/<user/.local/binдо /usr/local/binабо /usr/bin( в залежності від ваших уподобань), наступним чином :

ln -sv /home/<user>/.local/bin/pip /usr/local/bin/pip
ln -sv /home/<user>/.local/bin/pip2 /usr/local/bin/pip2
ln -sv /home/<user>/.local/bin/pip2.7 /usr/local/bin/pip2.7
ln -sv /home/<user>/.local/bin/pip3 /usr/local/bin/pip3
ln -sv /home/<user>/.local/bin/pip3.6 /usr/local/bin/pip3.6

ПРИМІТКА: замініть <user> вашого поточного користувачем

Пов'язані версії (останні) містяться у:

Версія 3.6:

/home/demon/.local/lib/python3.6/site-packages/pip (python 3.6)

Версія 2.7:

/home/demon/.local/lib/python2.7/site-packages/pip (python 2.7)


Це вирішило мою проблему. Інших відповідей не було.
Амін Гусні

1
Ви дійсно не повинні возитися безпосередньо з файлами, /usr/binхоча. І, ваш PATHпомиляється, якщо /usr/local/binцього не було раніше /usr/bin.
tripleee

Бінарний файл pip не існує в /usr/local/bin. Це лише у /home/<user>/.local/binта / або /home/<user>/.local/lib/python<version>/site-packages/pipв нових версіях (v10.0 + не оновлювати двійкові в /usr/bin). Звідси причина, що копію або символьне посилання бінарного файлу потрібно створити або в, /usr/binабо /usr/local/bin(залежно від переваг користувача), щоб pip можна було запустити глобально з командного рядка.
криптовалюта

Бінарні файли файлів каталогів існують і повинні бути пов’язані / скопійовані з: demon @ Bionic18: ~ / .local / bin $ ls pip pip2 pip2.7 pip3 pip3.6 pipБінарні параметри за замовчуванням до останньої версії, встановленої в системі
cryptoboy


0

У мене була ця сама помилка, але python -m pipвона все ще працювала, тому я виправив її за допомогою ядерного варіанту sudo python -m pip install --upgrade pip. Це зробив це для мене.


0

Оскільки це варте, у мене виникла проблема з pip(ні pip2або pip3):

$ pip -V
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

$ pip2 -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ pip3 -V
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

Якось (не пам'ятаю як) у мене в ~/.localкаталозі були встановлені речі python . Після того, як я видалив звідти каталог pip, я pipзнову почав працювати.

$ rm -rf /home/precor/.local/lib/python2.7/site-packages/pip
$ pip -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

0

Щось не так у пакунках, коли він генерує de file / usr / bin / pip, вам потрібно змінити імпорт:

from pip import main

до

from pip._internal import main

Це вирішує проблему, я не впевнений, чому це породило, але це сказано щось у наступному випуску:

Після оновлення pip 10 на pyenv "ImportError: не можна імпортувати ім'я" main ""


0

Ви можете спробувати це:

sudo ln -sf $( type -P pip ) /usr/bin/pip

3
Хоча цей код може відповісти на питання, було б краще включити деякий контекст, пояснивши, як він працює і коли ним користуватися. Відповіді, що стосуються лише коду, не є корисними в довгостроковій перспективі.
Джуліо Каччін

0

Я також зіткнувся з цією проблемою, коли хотів оновити систему pip pip3з 9.0.1 до 19.2.3.

Після бігу pip3 install --upgrade pip, pipверсія стає 19.2.3. Але main()введено в pip._internalостанню версію, яка залишає pip3зламаними.

Отже, у файлі /usr/bin/pip3замініть line 9: from pip import mainна from pip._internal import main. Виправлення буде вирішено, працює для того ж python2-pip. (Тестовано на дистрибутиві Ubuntu 18.04)

За @Vincent H. в відповідь



0

ви можете просто виправити шляхи pip та pip3 за допомогою update-alternatives

Перше, що ви повинні перевірити, це ваш поточний $PATH пробіг echo $PATHі побачити, що ви можете знайти/usr/local/bin , де зазвичай є pip3 та pip

там зміниться ваша система шукає тут, /bin/pipі /bin/pip3 тому я скажу виправити ПАТ, додавши до свого~/.bash_profile файл, щоб він зберігався

export PATH=$PATH:/usr/local/bin а потім перевірте, чи його фіксовано за допомогою which pipіwhich pip3

якщо ні, то використовуйте, update-alternativesщоб остаточно виправити це

update-alternatives --install /bin/pip3 pip3 /usr/local/bin/pip3 30

і якщо ви хочете вказати pip на pip3, то

update-alternatives --install /bin/pip pip /usr/local/bin/pip3 30

0

Це працювало для мене!

hash -r pip # or hash -d pip

Тепер видаліть встановлену версію pip та перевстановіть її за допомогою наступних команд.

python -m pip uninstall pip  # sudo
sudo apt install --reinstall python-pip

Якщо Pip зламаний, використовуйте:

python -m pip install --force-reinstall pip

Сподіваюся, це допомагає!


-1

імпорт основного з pip._internal

from pip._internal import main

Відредагуйте піп-код від

sudo nano /usr/bin/pip3

Чи можете ви відредагувати відповідь та вказати її краще? Не дуже зрозуміло, як редагувати файл /usr/bin/pip3...
М. Волф

-1

Як сказав @cryptoboy - перевірте, яку версію pip / python ви встановили

 demon@UbuntuHP:~$ pip -V
 demon@UbuntuHP:~$ pip2 -V
 demon@UbuntuHP:~$ pip3 -V

а потім перевірте, чи не потрібні бібліотеки у вашій папці .local / lib /.

Я робив резервне копіювання налаштувань, коли я переходив на новіший Kubuntu і мав папку .local / lib / python2.7 / у своєму домашньому каталозі. Встановлений пітон 3.6. Я просто видалив стару папку і тепер все чудово працює!


-1

На Debian вам потрібно буде спочатку оновити apt ....

sudo apt-get update -qq
sudo apt-get install python-pip -qq
sudo pip install pip --upgrade --quiet
sudo pip2 install virtualenv --quiet

Якщо ви пропустите 'sudo apt-get update -qq', ваш піп стане корумпованим та відобразить помилку «не може знайти головну».


-1

Ця помилка може бути дозволом. Отже, тестуйте виконання команди з прапором -H :

sudo -H pip3 install numpy

питання дуже чітко говорить про те, що ImportError не є помилкою дозволу
Ентоні

-1

Перед виконанням будь-якої команди pip використовуйте наступну команду

hash -d pip

Це спрацює


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