LINUX.ORG.RU

Выбор версии Python

 , ,


1

2

При установке программы

program-name.whl
через pip3:

user@user:~$ pip3 install program-name.whl
Defaulting to user installation because normal site-packages is not writeable
Processing ./program-name.whl
ERROR: Package 'program-name' requires a different Python: 3.5.3 not in '>=3.7.0'

При этом:

user@user:~$ python --version
Python 3.8.2

Версию питона по умолчанию менял через

alias python='/usr/local/bin/python3.8'

В общем как мне ему дать нужную версию питона?

★★
Ответ на: комментарий от t184256

Спасибо, теперь ругается на устаревшую версию pip

WARNING: You are using pip version 19.2.3, however version 20.2.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
user@user:~$ sudo pip install --upgrade pip
Requirement already up-to-date: pip in /usr/local/lib/python3.5/dist-packages (20.2.1)

После:

user@user:~$ sudo python3.8 -m pip install program-name.whl
Логи и:
WARNING: You are using pip version 19.2.3, however version 20.2.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Riniko ★★
() автор топика
Ответ на: комментарий от Riniko

это нормально, но можешь обновить

anonymous
()
Ответ на: комментарий от Riniko

sudo pip install --upgrade pip

sudo python -m pip install --upgrade pip

Ты раз развёл этот бардак с неправильно установленным питоном, ты заканчивай дёргать старый. То, что ты прописал алиас, ни на что, кроме вводимых тобой интерактивно команд, не повлияло. Ты все ещё должен на каждый вызов чего бы то ни было умудриться вызвать новое.

t184256 ★★★★★
()

Небольшая ремарка, не обязательно sudo делать, просто pip3 поставит в хомяк. Может быть полезно на таких сайтах, типа PythonAnywhere. Может с локальной установкой все твои проблемы уйдут

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Riniko

Как «правильно» устанавливать питон тогда?

Пакетным менеджером. В идеале системным, но можно и каким-нибудь левым, типа conda или Nix, все лучше, чем так.

t184256 ★★★★★
()
Последнее исправление: t184256 (всего исправлений: 1)

Два эмпирических правила:

  • системный питон только для системы, не надо использовать его pip, нужные python-пакеты ставить только средствами пакетного менеджера
  • для разработки или чтобы запустить что-то, чего нет в репозиториях, то только виртуальное окружение, и там делай что хочешь, потому что ничего непоправимого сделать не получиться (в отличие от пред. пункта)
vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

sudo pip ставит в /usr/local, а не в /usr. Просто pip в ~/.local. Они ничего не затрут.

anonymous
()
26 сентября 2020 г.

Рекомендую вообще никогда не вызывать sudo, и ничего не ставить в дебианах/убунтах для питона. Это системные питоны и они нужны для работы компонентов системы. Лучше всего собрать нужную версию питона прямо у себя в /home, сделать локальные алиасы python и pip и пользоваться на здоровье. То есть, всегда когда запускаешь у себя из консольки python или pip, запускается вот этот локальный пользовательский питон. В остальных случаях, системные компоненты находят свой, нужный им питон или пип.

Если очень хочется многопользовательский инсталл, то такое же можно проделать где-нибудь в /usr/local/ под выделенным под это дело пользователем, например userpython, и открыть всем доступ на чтение и запуск. Разве что алиасы придётся каждому пользователю по отдельности прописывать.

Хочу заметить, что дебиан/убунтовские инсталляции питона могут создавать ошибки на ровном месте, так как в sys.path всегда присутствует путь /usr/lib/python3/, куда исторически без разбора ставилось всё что не-второй питон, там могут быть модули для любой минорной версии тройки, из-за чего бывает ломаются совершенно неожиданно поставленные по полному фэншую пакеты. Этой же ерундой болеют PPA для новых версий питона. Я создавал там ишью об этом, но меня послали подальше. Поэтому лучше собрать самому.

neumond
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.