Python 3.6 устанавливается два раза как python3 и python3.6: можно ли удалить один из них? Как мне это сделать?

По крайней мере, в bashцитирование RHS приводит к тому, что оно рассматривается как сравнение строк

$ s=$(printf 'hello\nworld\nOK\n')
$ echo "$s"
hello
world
OK
$ [[ "$s" =~ OK$ ]] && echo "match" || echo "no match"
match

тогда как

$ s=$(printf 'hello\nworld\nOK$\n')
$ echo "$s"
hello
world
OK$
$ [[ "$s" =~ 'OK$' ]] && echo "match" || echo "no match"
match
0
30.07.2019, 11:29
2 ответа

Наличие python3 и python3.6 в каталоге /usr/binне означает, что у вас есть две установки Python. Обычно фактический интерпретатор Python устанавливается в /usr/bin/pythonX.Y, где X — основная версия, а Y — дополнительная версия.

В вашем случае у вас фактически установлены две версии Python3.6:/usr/bin/python3.6и /usr/bin/python3.6m. /usr/bin/python3и /usr/bin/python3m— это просто символические ссылки на исполняемые файлы, как я упоминал ранее.

Тема StackOverflow посвящена различиям между этими двумя версиями:Разница между исполняемыми файлами python3 и python3m

Я не знаю, почему у вас установлен python3m, но я бы не стал удалять python3 из системы, если вы не установили его самостоятельно.

3
28.01.2020, 02:29

Как видно из вашего вопроса «/usr/bin/python3 -> python3.6», python3является символической ссылкой на python3.6. Он не использует почти никакого пространства. Python3будет ссылкой на последний python3.x, чем вы установили.

Вы можете удалить ссылку, но не сломайте что-нибудь.

Может показаться, что у вас установлено два python /usr/bin/python3.6и /usr/bin/python3.6m. Однако не то, что может ссылка - это2(2-е поле ). Если вы сделаете ls -lia /usr/bin/python*, то увидите, что они оба имеют одинаковый номер инода (, это один и тот же файл, но два разных имени ). Некоторые программы смотрят на свои имена при запуске и меняют поведение в зависимости от своего имени.

Заключение

Нет никаких свидетельств того, что установлено более одного Python 3.

6
28.01.2020, 02:29

Теги

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