Как изменить версию по умолчанию Python в Debian 7.5?

Вот:

dates=($(for i in backups/*.tar.bz2;do #Glob eliminates need to list all files
             date=${i/Complete Backup /} #Remove "Complete Backup "
             date=${date%%.*} #Remove ".tar.bz2"
             date=${date/ /,} #Substitue , for space
             echo $date #Echo the date for sed
         done|sed -e 's/\([0-9]\+\)-\([0-9]\+\)-\([0-9]\+\)$/\1:\2:\3/'|sort -r|xargs echo))
select date in ${dates[@]};do
    echo "$date"
done

Еще одна вещь: если Вы используете это для a select цикл, как Вы собираетесь сказать различные даты независимо, когда они разделены пробелом? Я подразумеваю, что Вы используете пространство для разделения даты со времени также, таким образом, это могло бы быть источником беспорядка.

Править

  • Добавленная сортировка дат от самых старых до новейших начиная с Ваших комментариев указывает на необходимость в них, отсортировал тот путь.
  • Добавленный код для разделения даты и времени запятой так, чтобы select может сказать пару даты и времени от новой записи в целом.
  • Перенесенный целое в a select цикл Сохранил даты в массив, который затем выполнен с помощью итераций a select цикл, чтобы избежать необходимости повторно анализировать даты каждого повторного выполнения цикла.
3
21.06.2014, 13:11
1 ответ

Чтобы изменить версию питона, которая выполняется при наборе в командной строке python, и только после этого определить псевдоним в файле инициализации оболочки (псевдоним для интерактивных оболочек). Это ~/.bashrc для bash, ~/.zshrc для zsh, ~/.cshrc для csh, ~/.config/fish/config.fish для рыбы. Используйте правильный путь к Python 3.3 для вашей установки.

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

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

В Debian wheezy, python в пути поиска по умолчанию должен быть Python 2.7, потому что есть программы, которые зависят от него (некоторые пакеты поставляют скрипты Python 2, которые имеют #!/usr/bin/env python в качестве своей shebang строки). Если вы хотите, вы можете изменить по умолчанию систему для Python 3 на Python 3.3 вместо 3.2, которая поставляется с Debian wheezy. Для этого создайте символическую ссылку в /usr/local/bin (для этого вам нужно быть корневым). Если вы установили Python 3 непосредственно в /usr/local/bin:

ln -s python3.3 /usr/local/bin/python3

Если вы установили его в другом месте:

ln -s /path/to/python3.3/bin/python3.3 /usr/local/bin/python3

Scripts that ship with Debian with the shebang #! /usr/bin/python3 будет продолжать использовать 3.2, но сценарии, которые используют #!/usr/bin/env python3 теперь будут использовать 3.3, и ввод python3 в командной строке будет вызывать 3.3.

.
4
27.01.2020, 21:19

Теги

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