Ubuntu Trusty — настройка среды окружения python

Posted by

Я для себя решил, что мир программирования (автоматизации) я буду открывать с использование языка программирования именуемого, как . Вроде он легче, но у человека (новичка) всегда куча вопросов по изучаемому, к примеру:

  • А как начинать скрипт
  • Откуда я знаю что нужно именно этот модуль подгрузить
  • А почему нужно именно эту конструкцию использовать
  • А какие значения нужны в эту инструкцию
  • А как завершать скрипт
  • А какие проверки и на что следует обращать внимание при обработке ошибок, исключений.

Сколько я различных книг не читал все хоть да что-то да опускают, как само собой разумеющееся. Либо читаешь книгу для чайников, а там после 5 или 10 примеров, автор просто опускает как он думает вполне очевидные вещи и все книга перестает быть учебником для начинающегося. Раз публикуют книгу для начинающих так и должны вести читателя по всеми чтобы он запомнил и успешно применял полученные знания. Но нет же, а потому приходится составлять свои заметки определенных шагов, схем, описаний, т. е. Составление своей книги (так кстати будет правильнее выразится).

Все ниже указанное исполняется на Ubuntu Trusty Server (Desktop) amd64:

ekzorchik@srv-host:~$ sudo rm -Rf /var/lib/apt/lists

ekzorchik@srv-host:~$ sudo nano /etc/apt/sources.list

дефолтные не apt-cacher

ekzorchik@srv-host:~$ sudo apt-get update && sudo apt-get upgrade -y

Текущая версия пакета python которую можно проинсталлировать из дефолтных репозитариев:

ekzorchik@srv-host:~$ apt-cache policy python

python:

Installed: 2.7.5-5ubuntu3

Candidate: 2.7.5-5ubuntu3

Version table:

*** 2.7.5-5ubuntu3 0

500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

500 http://mirrors.kernel.org/ubuntu/ trusty/main amd64 Packages

100 /var/lib/dpkg/status

Отобразить текущую версию установленного пакета Python в системе:

ekzorchik@srv-host:~$ python -V

Python 2.7.6

Устанавливаю пакетный менеджер Python:

ekzorchik@srv-host:~$ sudo apt-get install python-pip -y

В задачи данного менеджера входит установка и управление пакетами (библиотеками) Python. Синтаксис установки:

ekzorchik@srv-host:~$ pip install package

Посмотреть список всех библиотек(пакетов):

ekzorchik@srv-host:~$ pip search os

где к примеру ищем по буквам os

К примеру установка библиотеки auditwheel:

ekzorchik@srv-host:~$ sudo pip install auditwheel

Устанавливаю в систему пакеты работы с Python:

ekzorchik@srv-host:~$ sudo apt-get install build-essential libssl-dev libffi-dev python-dev -y

Что подразумевается под виртуальной средой pythonэто изоляция Ваших различных проектов, где каждый проект содержит различные зависимости программ, а в следствии этого работа одного не влияет на работу другого и системы в целом.

Каково же количество виртуальных сред Python — все зависит от Вас самих, их использование не регламентировано числом.

Далее я установлю модуль python → venv (он включен в стандартную библиотеку Python 3) и создам среду разработки с помощью команды pyvenv.

ekzorchik@srv-host:~$ sudo apt-get install python3.4-venv -y

Теперь модуль установлен.

Создаю каталог и внутри него создаю виртуальную среду с именем my_test:

ekzorchik@srv-host:~$ mkdir template

ekzorchik@srv-host:~$ cd template/

ekzorchik@srv-host:~/template$ pyvenv-3.4 my_test

ekzorchik@srv-host:~/template$ ls -l

total 4

drwxrwxr-x 5 ekzorchik ekzorchik 4096 Dec 25 13:45 my_test

ekzorchik@srv-host:~/template$ ls my_test/

bin include lib lib64 pyvenv.cfg

Теперь нужно включить виртуальную среду: (Эта команда запустит сценарий activate из каталога bin.)

ekzorchik@srv-host:~/template$ source my_test/bin/activate

(my_test) ekzorchik@srv-host:~/template$

На заметку: Это позволяет вам определить, в какой именно среде вы находитесь. Все команды, запущенные в такой среде, будут действовать только в рамках этой среды.

Чтобы выйти из виртуальной среды:

(my_test) ekzorchik@srv-host:~$ deactivate

Создаем тестовую виртуальную среду и простенькую программу внутри нее:

ekzorchik@srv-host:~$ pyvenv-3.4 template/hello

ekzorchik@srv-host:~$ source template/hello/bin/activate

(hello) ekzorchik@srv-host:~$

(hello) ekzorchik@srv-host:~$ nano template/hello/hello.py

#!/usr/bin/env python

print («Hello World!\n»)

(hello) ekzorchik@srv-host:~$ python template/hello/hello.py

Hello World!

(hello) ekzorchik@srv-host:~$

(hello) ekzorchik@srv-host:~$ deactivate

ekzorchik@srv-host:~$

Вот уже прогресс, теперь я знаю как использовать окружение для создания своих скриптов. Я же начинающий, а мне свойственно в первую очередь использовать собственно написанное и разбираемое в процессе изучения. Только так я смогу ставить задачу, разбирать ее на составляющие и решать. А используя собственное окружение для различных задач я отделяю их друг от друга: все в своей песочнице. Пока это все, я прощаюсь, до новых встреч с уважением автор блога Олло Александр aka ekzorchik.