Форум сайта python.su
0
Возможно вопрос не к знатокам python.
Два компьютера . На обоих стоит Debian 8, по умолчанию там ставится python3.4. На обоих установлен python3.6 (не из родного репозитория) и объявлен языком по умолчанию. Теперь проблема: на одном компьютере установлено все, что нужно для работы с python. Хочу сделать то же самое на втором, но не помню, как я это делал. Все уперлось в невозможность установить pip.
Пробовал из репозиториев-в конце установки сообщил, что не установились python-lxml и ndiff (но они и на первом не установлены). Установилась версия 1.5.6, которая ничего не устанавливала, но хоть -version сообщала.
Пытался через get-pip.py, через PyCharm-в результате и старая версия перестала отвечать. Куча ошибок, а в конце
CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1
Офлайн
857
Для начала раздели для себя python и python3 и pip и pip3. Обычно на системах стоят питоны и второй, и третьей версии. Пакеты у них начинаются, соответственно, с python или python3.
mokynisЧто значит “объявлен языком по умолчанию”? Как ты его “объявил”?
На обоих установлен python3.6 (не из родного репозитория) и объявлен языком по умолчанию.
mokynisИ не факт, что это всё правильно сделано.
Теперь проблема: на одном компьютере установлено все, что нужно для работы с python.
Офлайн
0
устанавливал python3.6 по этой (https://andreyex.ru/operacionnaya-sistema-debian/kak-ustanovit-python-3-na-debian-8/) инструкции
объявлял версией по умолчанию по этой (https://linux-notes.org/pereklyuchit-versiyu-python-v-unix-linux/)
на "рабочем компьютере использовал 1-й способ, на втором-2-й.
А вот как устанавливал pip на первом-не помню. Подозреваю, что
apt-get install python3-pip
Отредактировано mokynis (Сен. 16, 2020 11:04:41)
Офлайн
568
mokynis
Вы решаете проблему не тем способом. Менять какое-то стандартное поведение системы для целей конкретного приложения, это плохое решение. Питон в линуксе используется широко, и если вы меняете версию питона для всей системы, то сложно предсказать, что у вас перестанет работать в результате этого вмешательства. Может быть пакетный менеджер отвалится, может быть какие-то скрипты инициализирующие, может весь ГУИ - кто знает. В линуксе программы и документы сами указывают системе чем их надо запускать, это называется https://ru.m.wikipedia.org/wiki/Шебанг_(Unix). То есть вы не меняете версию питона для всей системы, вы указываете, каким конкретно интерпретатором выполнять вашу программу. Ну и кроме того, есть такой инструмент как virtualenv, который как раз и нужен для того, чтобы разные проекты запускать с разными версиями библиотек. Соедините эти знания, и вам не надо будет мудрить.
Офлайн
857
mokynisЭтот софт, видимо, расчитан на сторонние программы, которые не имеют отношения к системе. А питон используется в системе. Поэтому питон должен стоять правильно: должна быть программа python и должна быть программа python3. Они обе должны быть. Дальше ты в каждом скрипте указываешь, каким питоном он запускается - вторым или третьим. Поиск бинарника идёт через программу env.
использование update-alternatives не лучший способ объявления версии по умолчанию
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#!/usr/bin/env python3
Отредактировано py.user.next (Сен. 16, 2020 22:43:54)
Офлайн