Ошибка после обновления пипа: невозможно импортировать имя '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/issues/2095
— Этьен

Ответы:


846

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

Пип 10.х определяет, где находятся его внутренние органы. Команда, pip3которую вы видите, предоставлена ​​вашим сопровождающим пакета (предположительно, основана на Debian?) И не является файлом, управляемым pip.

Вы можете прочитать больше об этом на трекере проблем 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 обновил указания "fixup" - только что проверил их в докере (я должен был это сделать в первый раз!)
— Энтони Соттил,

6
Мне нужно использовать команду '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!
— Бармалей

1
Работает для Ubuntu на Windows. Решение - это то, что @Barmaley предлагает для python2 (интерпретатор python по умолчанию).
— jdhao

111

Мы можем устранить ошибку, изменив файл 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 (), а не main ()
— Виджей Атхитя

2
в последней версии pip3, то main()перемещается pip._internal. Оператор импорта должен быть изменен наfrom pip._internal import main
— Yossarian42

2
Работал как шарм! Спасибо
— Махеш Нанаяккара

69

Для семейства Ubuntu, Debian, Linux Mint

Благодаря приведенному выше объяснению Энтони вы можете сохранить исходный системный пип (в / usr / bin / и dist-packages /) и удалить установленный вручную пип (в ~ / .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 10 может быть развернут в Python virtualenvs.

Но независимо от пипсов, ваша ОС позволяет быстро устанавливать обычные модули Python (включая numpy) с APT, без необходимости в пипсах, например:
$ sudo apt install python3-numpy python3-scipy(с системными зависимостями)
$ sudo apt install python3-pip(патч в Debian, немного старше, но это не имеет значения)

Быстрое напоминание синтаксиса (см. 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-pandas). Их тысячи, и они проходят тестирование интеграции в Debian и Ubuntu. Если вы не хотите устанавливать на уровне пользователя ( pip install --userопция) или в virtualenv / venv, apt может быть тем, что вам нужно. Эти системные пакеты также доступны из виртуальных envs, поскольку virtualenv будет изящно прибегать к использованию системных библиотек при импорте, если ваши envs не предоставили копии модулей. Ваши пользовательские (с pip --user) пользовательские модули также ~/.local/libбудут переопределять их.

Обратите внимание, поскольку это общесистемная установка, вам редко придется их удалять (нужно помнить о зависимостях ОС). Это удобно для пакетов со многими системными зависимостями (например, с scipy или matplotlib), поскольку APT будет отслеживать и предоставлять все необходимые системные библиотеки и расширения C, тогда как с pip у вас нет таких гарантий .

На самом деле, для общесистемных пакетов Python (в отличие от уровня пользователя, уровня домашнего каталога или ниже) 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, когда системный модуль python неожиданно изменяется. Удачи!


P. S. Все вышеизложенное относится к «идеальному» решению (путь Debian / Ubuntu).

Если вы все еще хотите использовать новый pip3 v10 исключительно, есть 3 быстрых обходных пути:

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

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

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


Можете ли вы помочь мне понять, почему установка обновленной версии pip локально с --user, то есть без sudo, влияет на мою способность запускать установленный apt pip? Я думал, что оба будут сосуществовать. Но этого GIST показывает склонный установлен один перерывы после я python3 -m pip install --user --upgrade pip. Я не ищу решения - мне просто искренне любопытно понять, что здесь происходит.
— Джордж Хокинс

1
@ Джордж Это происходит из-за несоответствия между библиотеками pip и их обертками, которые их импортируют. Попытка немедленного запуска системной команды pip (без применения какого-либо решения ) все равно вызовет установленную apt системную версию сценария оболочки pip, /usr/bin/pip3а не ту, которая установлена ​​как --user( ~/.local/bin/pip*) в соответствии с системой $ PATH операционной системы, которая по-прежнему настроена для запуска системная версия обертки, но не ее библиотеки ..
— Alex C.

2
@George Это потому, что теперь установлен более новый пакет pip, ~/.local/lib/python3.?/site-packages/pipкоторый имеет приоритет над системным и относительным в относительном импорте Python (локальный пользовательский сайт имеет приоритет над глобальными библиотеками). И поскольку более старая обертка пытается from pip import main, чем from pip._internalее __main__класс, сравнивать с более новой версией пакета pip, команда pip из gist завершается ошибкой ImportError: cannot import name 'main'. Таким образом, оба пипса могут сосуществовать (на диске), но функциональность оригинальной системы один будет «нарушена» ..
— Алекс С.

+1 за --user. pip install --userэто то, что сделал это для меня. (У меня есть Python 2.7, Python 3.6 и Python 3.7, все они установлены на Ubuntu 18.04 LTS.)
— Стивен Дж Тагги,

46

решено только в один шаг.

Я тоже сталкивался с этой проблемой, но это можно решить с помощью одной команды, не беспокоясь об этом и не теряя времени, и я пробовал его на нескольких системах, это самое чистое решение для этой проблемы. И это:

Для 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 "$@" )

/usr/bin/pip3Файл Ubuntu 18.04 делает:

from pip import main

и предположительно mainбыл удален изpip в какой-то момент, который сломал вещи.

Разрывная фиксация в пипсах выглядит следующим образом: 95bcf8c5f6394298035a7332c441868f3b0169f4 «Переместить все внутренние API в pip._internal», которая вошла в пип 18.0.

Протестировано в Ubuntu 16.04 после обновления с pip39.0.1 до 18.0.

pyenv

В конечном счете, однако, для серьезной разработки Python я бы порекомендовал вам установить свой собственный локальный Python с помощью pyenv + virtualenv, что также поможет обойти эту ошибку Ubuntu: /ubuntu/682869/how-do-i- установить-а-другую-питон-версию- с использованием-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


8

Я работаю в системе, где у меня есть sudo apt, но нет sudo pip. (И нет доступа.) Я попал в ту же ситуацию, следуя совету из пипа:

Вы используете версию 8.1.1 pip, однако доступна 18.0. Вы должны рассмотреть возможность обновления с помощью команды 'pip install --upgrade 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). Это решение очень похоже на принятое, с одной тонкой разницей, которая для меня исправлена.

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 (от моего поставщика выделенных серверов)
— Peter Rosemann

керлинг в интернет для супер пользователя, что может пойти не так!
— 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)

Может быть, новая версия pip 10.0.1 не обновляет бинарный файл в / usr / bin? (что кажется не так)

РЕДАКТИРОВАТЬ: та же проблема возникает в 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

Двоичный файл пипса не существует в /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 мог запускаться глобально из командной строки.
— cryptoboy

Двоичные файлы каталога существуют и должны быть связаны / скопированы из: 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)

Каким-то образом (я не могу вспомнить, как) у меня был установлен Python вещи в моем ~/.localкаталоге. После того как я удалил каталог 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

Что-то не так с пакетами, когда он генерирует файл / 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

Пожалуйста, выполните следующие команды, чтобы исправить. После запуска python3 -m pip install --upgrade pip, пожалуйста, выполните следующую команду.

hash -r pip

Источник: https://github.com/pypa/pip/issues/5221


0

Вы можете просто исправить пути pip и pip3, используя update-alternatives

Первое, что вы должны проверить, это ваш текущий $PATH прогон echo $PATHи посмотреть, вы можете найти, /usr/local/binгде обычно находятся pip3 и pip

есть изменения, которые ваша система ищет здесь, /bin/pipи /bin/pip3 поэтому я скажу исправить PATH, добавив к вашему~/.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

Если пункт сломан, используйте:

python -m pip install --force-reinstall pip

Надеюсь, поможет!


-1

импортировать main из 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.