Управляем разными версиями python

Python, при всей его стабильности и устоявшемся api, продолжает активно развиваться: новые версии выходят примерно раз в два/два с половиной года. В то же время, в linux-операционных системах обновляются только минорные версии языка (скажем, 3.5.1 до 3.5.2), а новый python 3.6 из коробки можно будет "потрогать" только со следующей версией дистрибутива ОС.

Обновление ОС ради новой версии python - крайняя мера, а в случае серверов - и вовсе сомнительное удовольствие. Вот и выходит, что часто, чтобы попробовать все нововведения приходится использовать docker или устанавливать новую версию вручную. В последнем случае стоит быть очень внимательным, чтобы не заменить системную версию python, иначе можно заработать головную боль из-за проблем с совместимостью. В случае же, если альтернативную версию python необходимо установить на сервере, вариантов становится еще меньше (я обычно в таких случаях оборачиваю приложение в docker-контейнер).

Для решения этой проблемы имеется pyenv: инструмент для управления разными версиями python. С его помощью можно быстро и просто устанавливать, удалять и переключаться между множеством различных версий python, не покидая командной строки. Pyenv - это попытка объединить в одном месте все лучшее в python-мире: pip, virtualenv и pipfile. В месте с тем, это простой инструмент, который следует UNIX-традициям: делай одну вещь, но делай её хорошо.

pyenv позволяет:

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

Read more...

Освобождаем место на диске после docker

Я большой фанат docker. Уже более чем 2 года я уверен в том, что этота технология изменит способ развертывания приложений. Не только web-приложений, но и инструментов командной строки, а, возможно, и графических приложений. Но такая точка зрения не отменяет кучи недостатков, с которыми я периодически сталкиваюсь.

Один из основных неприятных моментов, с которыми мне приходится постоянно сталкиваться, - это загромождение свободного места на диске. До недавнего времени я постоянно сталкивался с проблемами настройки окружений, потому что мне постоянно не хватало места на жестком диске, и я не мог понять, куда оно девается. Ниже я приведу несколько советов, как избежать хранения неиспользуемых docker-образов и предотвратить их появление.

Read more...

Как отключить встроенную клавиатуру ноутбука в Ubuntu

Иногда возникает ситуация, когда необходимо вручную (программно) отключить встроеннуюу клавиатуру ноутбука. В моем случае - у меня стал западать пробел, нести ноут в сервисный центр не было времени, а разбираться самостоятельно, с учетом что ноутбук - Aser Aspire S3 - "слим", с не самой простой компоновкой, не рискнул.

Read more...

Как вручную установить cookie в chrome

Для того, чтобы вручную установить определенный cookie в chrome можно воспользоваться расширением (например, EditThisCookie). Ео если не стоит глобальной задачи управления куками, а необходимо просто одноразово добавить определенную запись, то подойдет простая однострочная команда на JavaScript, которую необходимо выполнить в консоли.

Read more...

Изменяем цвет вывода в bash-консоли

Для того, чтобы изменить цвет выводимого bash-скриптом текста можно использовать управляющие последовательности ANSI (ANSI escape codes):

RED='\033[0;31m'
NC='\033[0m' # NC - No Color, возвращаем раскраску по-умолчанию
echo -e "${RED}Этот текст красный${NC} а этот уже нет\n"

 

Read more...