диспетчер пакетов Python - избегающие конфликты с Кв. - добираются

Только что прочитав этот комментарий по поводу обновления зернышка, я работал:

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, и который также имеет зависимости.

0
задан 25 August 2018 в 16:14

3 ответа

Как ссылка, на которую указывают @siddesh-chavan шоу, существуют некоторые проблемы с интерфейсом Кв. - добираются и диспетчер пакетов Python. Я не рекомендовал бы того связанного решения. Вместо этого я верю, лучше читать это, и если Вы уже обновили pip/pip3, затем понижаете этот путь. Результат, не обновляйте зернышко или pip3 системы. Сделайте установки и обновления локально, с помощью pip* install --user.

Ответ ниже той второй ссылки также упоминает виртуальные среды, как делает @steve в его ответе - посмотрите ниже.

0
ответ дан 28 October 2019 в 02:20

Уже существует сообщение на этом.

https://stackoverflow.com/questions/28210269/importerror-cannot-import-name-main-when-running-pip-version-command-in-windo

Это работало на меня.

0
ответ дан 28 October 2019 в 02:20

Мое мнение после многих лет опыта, занимаясь проблемами зависимости Python - то, что Вы не должны обновлять систему пакеты Python за пределами Кв. Это всегда вызывает эти типы проблем. Менеджер по системному пакету обеспечивает стабильные версии Python и различных пакетов Python со сложной системой зависимости, и когда Вы пытаетесь вручную изменить их за пределами Кв., он может вызвать путаницу.

Я рекомендовал бы произвести чистку зернышка Python, переустановив версию, обеспеченную Кв., и затем только с помощью системы Python для связанных с системой задач и маленькие сценарии, для которых не нужны дополнительные пакеты. Для технической разработки, которая требует других пакетов, которые Вы обычно устанавливали бы с зернышком, можно или создать виртуальные среды (которые являются в основном новыми установками Python, которые не будут влиять на систему Python), или еще лучше (IMO), установите Anaconda Python, который позволяет Вам устанавливать пакеты Python с зернышком и conda, не повреждая систему Python.

0
ответ дан 28 October 2019 в 02:20

Другие вопросы по тегам:

Похожие вопросы: