Только что прочитав этот комментарий по поводу обновления зернышка, я работал:
sudo pip3 install --upgrade pip
Как @ByteCommander указывает, обновление переходит в /usr/local/bin/pip3
, в то время как версия распределения (от python3-зернышка) расположена в /usr/bin/pip3
, и первое имеет приоритет из-за порядка в ПУТИ. Это, кажется, хорошо работает, но если я конкретно выполняю версию (16.04) Ubuntu, я получаю ошибку:
/usr/bin/pip3 -V
Traceback (most recent call last):
File "/usr/bin/pip3", line 9, in <module>
from pip import main
ImportError: cannot import name 'main'
Это делает меня подозрительными обновлениями Python. Так, я застреваю, пытаясь установить пакет Python, который это на самом деле от мерзавца repo и который не находится ни в какой Кв. - получают repos, и который также имеет зависимости.
Как ссылка, на которую указывают @siddesh-chavan шоу, существуют некоторые проблемы с интерфейсом Кв. - добираются и диспетчер пакетов Python. Я не рекомендовал бы того связанного решения. Вместо этого я верю, лучше читать это, и если Вы уже обновили pip/pip3, затем понижаете этот путь. Результат, не обновляйте зернышко или pip3 системы. Сделайте установки и обновления локально, с помощью pip* install --user
.
Ответ ниже той второй ссылки также упоминает виртуальные среды, как делает @steve в его ответе - посмотрите ниже.
Уже существует сообщение на этом.
Это работало на меня.
Мое мнение после многих лет опыта, занимаясь проблемами зависимости Python - то, что Вы не должны обновлять систему пакеты Python за пределами Кв. Это всегда вызывает эти типы проблем. Менеджер по системному пакету обеспечивает стабильные версии Python и различных пакетов Python со сложной системой зависимости, и когда Вы пытаетесь вручную изменить их за пределами Кв., он может вызвать путаницу.
Я рекомендовал бы произвести чистку зернышка Python, переустановив версию, обеспеченную Кв., и затем только с помощью системы Python для связанных с системой задач и маленькие сценарии, для которых не нужны дополнительные пакеты. Для технической разработки, которая требует других пакетов, которые Вы обычно устанавливали бы с зернышком, можно или создать виртуальные среды (которые являются в основном новыми установками Python, которые не будут влиять на систему Python), или еще лучше (IMO), установите Anaconda Python, который позволяет Вам устанавливать пакеты Python с зернышком и conda, не повреждая систему Python.