Я для себя решил, что мир программирования (автоматизации) я буду открывать с использование языка программирования именуемого, как python. Вроде он легче, но у человека (новичка) всегда куча вопросов по изучаемому, к примеру:
- А как начинать скрипт
- Откуда я знаю что нужно именно этот модуль подгрузить
- А почему нужно именно эту конструкцию использовать
- А какие значения нужны в эту инструкцию
- А как завершать скрипт
- А какие проверки и на что следует обращать внимание при обработке ошибок, исключений.
Сколько я различных книг не читал все хоть да что-то да опускают, как само собой разумеющееся. Либо читаешь книгу для чайников, а там после 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.