При использовании pip я продолжал получать сообщения обо мне, используя старую версию, и я мог обновиться, поэтому я сделал:

pip install --upgrade pip --user

пока в моем аккаунте на вычислительном кластере.

Теперь, когда я даже пытаюсь:

pip --version

Я получаю следующую ошибку:

File "/opt/tools/python/2.7.13/bin/pip", line 7, in <module>
from pip import main
ImportError: cannot import name main

Когда я смотрю в:

.local/bin/

Я вижу:

pip
pip2
pip2.7

Мне посоветовали попробовать сменить pip на pip.old, но, похоже, это не дало никакого эффекта.

Я не могу ничего изменить в:

/opt/tools/python/2.7.13/bin/

Я хотел бы исправить это или просто вернуться к версии, которую я использовал ранее.

Любая помощь приветствуется.

1 ответ1

1

Сделайте себе одолжение и установите pyenv. Установите любой Python, который вы хотите (например, pyenv install 3.6.5), используйте pyenv global 3.6.5 чтобы установить версию глобально, и никогда больше не используйте системный Python снова.


У меня была та же проблема с Ubuntu, которая возникла из-за неправильной настройки PATH .

Под Ubuntu это то, что я сделал первым, чтобы сбросить системный pip:

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

И, возможно, для Python 3:

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

Затем убедитесь, что ваш профиль оболочки содержит следующее:

export PATH="${HOME}/.local/bin:$PATH"

Перезагрузите оболочку. Теперь, когда вы вызываете pip , он должен вызывать правильную версию pip для Python 2.

Если требуется обновить систему pip я не собираюсь давать вам никаких советов, как это даже не рекомендуется от того, что я видел (а также , судя по различным проблемам , которые могут возникнуть в результате этого). Экосистема Python там вроде как сломана .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .