Как создать приложение на python для linux
Python представляет популярный высокоуровневый язык программирования, который предназначен для создания приложений различных типов. Это и веб-приложения, и игры, и настольные программы, и работа с базами данных. Довольно большое распространение питон получил в области машинного обучения и исследований искусственного интеллекта.
Основные особенности языка программирования Python:
- Скриптовый язык. Код программ определяется в виде скриптов.
- Поддержка самых различных парадигм программирования, в том числе объектно-ориентированной и функциональной парадигм.
- Интерпретация программ. Для работы со скриптами необходим интерпретатор, который запускает и выполняет скрипт.Выполнение программы на Python выглядит следующим образом. Сначала мы пишим в текстовом редакторе скрипт с набором выражений на данном языке программирования. Передаем этот скрипт на выполнение интерпретатору. Интерпретатор транслирует код в промежуточный байткод, а затем виртуальная машина переводит полученный байткод в набор инструкций, которые выполняются операционной системой.Здесь стоит отметить, что хотя формально трансляция интерпретатором исходного кода в байткод и перевод байткода виртуальной машиной в набор машинных команд представляют два разных процесса, но фактически они объединены в самом интерпретаторе.
- Портативность и платформонезависимость. Не имеет значения, какая у нас операционная система - Windows, Mac OS, Linux, нам достаточно написать скрипт, который будет запускаться на всех этих ОС при наличии интерпретатора
- Автоматическое управление памяти
- Динамическая типизация
Python - очень простой язык программирования, он имеет лаконичный и в то же время довольно простой и понятный синтаксис. Соответственно его легко изучать, и собственно это одна из причин, по которой он является одним из самых популярных языков программирования именно для обучения. В частности, в 2014 году он был признан самым популярным языком программирования для обучения в США.
Python также популярен не только в сфере обучения, но в написании конкретных программ в том числе коммерческого характера. В немалой степени поэтому для этого языка написано множество библиотек, которые мы можем использовать.
Кроме того, у данного языка программирования очень большое коммьюнити, в интернете можно найти по данному языку множество полезных материалов, примеров, получить квалифицированную помощь специалистов.
Перейдем по ссылке к странице с описанием последней версии языка. Ближе к низу на ней можно найти список дистрибутивов для разных операционных систем. Выберем нужный нам пакет и загрузим его. Например, в моем случае это ОС Windows 64-х разрядная, поэтому я выбираю ссылку на пакет Windows x86-64 executable installer. После загрузки дистрибутива установим его.
Соответственно для MacOS можно выбрать пункт macOS 64-bit installer.
На ОС Windows при запуске инсталлятора запускает окно мастера установки:
Здесь мы можем задать путь, по которому будет устанавливаться интерпретатор. Оставим его по умолчанию, то есть C:\Users\[имя_пользователя]\AppData\Local\Programs\Python\Python36\.
Кроме того, в самом низу отметим флажок "Add Python 3.6 to PATH", чтобы добавить путь к интерпретатору в переменные среды.
После установки в меню Пуск на ОС Windows мы сможем найти иконки для доступа к разным утилитам питона:
Здесь утилита Python 3.7 (64-bit) представляет интерпретатор, в котором мы можем запустить скрипт. В файловой системе сам файл интерпретатора можно найти по пути, по которому производилась установка. На Windows по умолчанию это путь C:\Users\[имя_пользователя]\AppData\Local\Programs\Python\Python37, а сам интерпретатор представляет файл python.exe. На ОС Linux установка производится по пути /usr/local/bin/python3.7.
После установки интерпретатора, как было описано в прошлой теме, мы можем начать создавать приложения на Python. Итак, создадим первую простенькую программу.
Как было сказано в прошлой теме, программа интерпретатора, если при установке не был изменен адрес, по умолчанию устанавливается на Linux по пути usr/local/bin/python37, а на Windows по пути C:\Users\[имя_пользователя]\AppData\Local\Programs\Python\Python37\ и представляет файл под названием python.exe.
Запустим интерпретатор и введем в него следующую строку:
И консоль выведет строку "hello world":
Для этой программы использовался метод print(), который выводит некоторую строку на консоль.
В реальности, как правило, программы определяются во внешних файлах-скриптах и затем передаются интерпретатору на выполнение. Поэтому создадим файл программы. Для этого на диске C или где-нибудь в другом месте файловой системы определим для скриптов папку python. А в этой папке создадим новый текстовый файл, который назовем hello.py. По умолчанию файлы с кодом на языке Python, как правило, имеют расширение py.
Откроем этот файл в любом текстовом редакторе и добавим в него следующий код:
name = input("Введите имя: ")
name = input("Введите имя: ") print("Привет,", name)
Скрипт состоит из двух строк. Первая строка с помощью метода input() ожидает ввода пользователем своего имени. Введенное имя затем попадает в переменную name.
Вторая строка с помощью метода print() выводит приветствие вместе с введенным именем.
Теперь запустим командную строку/терминал и с помощью команды cd перейдем к папке, где находится файл с исходным кодом hello.py (например, в моем случае это папка C:\python). Далее вначале введем полный путь к интерпретатору, а затем полный путь к файлу скрипта:
К примеру, в моем случае в консоль надо будет вести:
Но если при установке была указана опция "Add Python 3.7 to PATH", то есть путь к интерпретатору Python был добавлен в переменные среды, то вместо полного пути к интерпретатору можно просто написать python:
Варианты с обоими способами запуска:
В итоге программа выведет приглашение к вводу имени, а затем приветствие.
В прошлой теме было описано создание простейшего скрипта на языке Python. Для создания скрипта использовался текстовый редактор. В моем случае это был Notepad++. Но есть и другой способ создания программ, который представляет использование различных интегрированных сред разработки или IDE.
IDE предоставляют нам текстовый редактор для набора кода, но в отличие от стандартных текстовых редакторов, IDE также обеспечивает полноценную подсветку синтаксиса, автодополнение или интеллектуальную подсказку кода, возможность тут же выполнить созданный скрипт, а также многое другое.
Для Python можно использовать различные среды разработки, но одной из самых популярных из них является среда PyCharm, созданная компанией JetBrains. Эта среда динамично развивается, постоянно обновляется и доступна для наиболее распространенных операционных систем - Windows, MacOS, Linux.
Правда, она имеет одно важное ограничение. А именно она доступна в двух основных вариантах: платный выпуск Professional и бесплатный Community. Многие базовые возможности доступны и в бесплатном выпуске Community. В то же время ряд возможностей, например, веб-разработка, доступны только в платном Professional.
В нашем случае воспользуемся бесплатным выпуском Community. Для этого перейдем на страницу загрузки и загрузим установочный файл PyCharm Community. После загрузки выполним его установку.
После завершения установки запустим программу. При первом запуске открывается начальное окно:
Создадим проект и для этого выберем пункт Create New Project.
Далее нам откроется окно для настройки проекта. В поле Location необходимо указать путь к проекту. В моем случае проект будет помещаться в папку HelloApp. Собственно название папки и будет названием проекта.
Следует отметить, что PyCharm позволяет разграничить настройки проектов. Так, по умолчанию выбрано поле New Environment Using, что позволяет установить версию интерпретатора для конкретного проекта. Затем все устанавливаемые дополнительные пакеты будут касаться только текущего проекта. Это удобно, если мы создаем несколько проектов, но каждый из которых рабоает с какой-то специфической версией интерпретатора. Но в качестве альтернативы мы также можем выбрать поле Existing Interpreter и задать путь к файлу интерпретатора глобально для всех проектов.
В реальности для первого простейшего приложения на PyCharm не имеет значения, как будет установлен интерпертатор. Однако данном же случае оставим выбранный по умолчанию флажок New Environment Using и под ним в поле Base Interpreter укажем путь к файлу интерпретатора, установка которого рассматривалась в первой теме.
И после установки всех путей нажмем на кнопку Create для создания проекта.
После этого будет создан пустой проект:
Теперь создадим простейшую программу. Для этого нажмем на название проекта правой кнопкой мыши и в появившемся контекстном меню выберем
New -> Python File.
Затем откроется окно, в котором надо будет указать название файла. Пусть файл называется hello:
В созданный файл введем следующие строки:
name = input("Введите ваше имя: ")
Для запуска скрипта нажмем на него правой кнопкой мыши и в контекстном меню выберем Run 'hello' (либо перейдем в меню Run и там нажмем на подпункт Run. ):
После этого внизу IDE отобразится окно вывода, где надо будет ввести имя и где после этого будет выведено приветствие:
Одной из сред разработки, которая позволяет работать с Python, является Visual Studio. Преимуществом данной IDE по сравнению, скажем, с PyCharm, следует отметить прежде всего то, что в ее бесплатной редакции VS 2017 Community бесплатно доступны ряд функций и возможностей, которые в том же PyCharm доступны только в платной версии Professional Edition. Например, это веб-разработка, в том числе с помощью различных фреймворков. В то же время средства ля разработки на Python в Visual Studo доступны пока только в версии для Windows.
После установки Visual Studio запустим ее. В меню выберем пунт File (Файл) -> New (Создать) -> Project (Проект), и перед нами откроется окно создания нового проекта. В этом окне в левом древовидном меню мы можем перейти к языку Python:
Выбрав слева Python, в центральной части окна мы можем увидеть богатую палитру типов проектов, которые мы можем создавать для разработке на данном языке программирования. Это и веб-разработка, и машинное обучение, и проекты для работы с облаком, проекты настольных приложений и т.д. В данном же случае выберем в качестве типа проекта Python Application, то есть тип простых консольных приложений, и назовем новый проект HelloApp. Нажмем на кнопку OK, и Visual Studio создаст новый проект:
Справа в окне Solution Explorer (Обозреватель решений) можно увидеть структуру проекта. По умолчанию здесь мы можем увидеть следующие элементы:
Python Environments: здесь можно увидеть все используемые среды, в частности, здесь можно найти сведения о компиляторе, который используется.
References: в этот узел помещаются все внешние зависимости, которые используются текущим проектом
Речь в этом посте пойдет о утилите под название «Quickly». Эта утилита позволяет быстро создавать приложения для Ubuntu на Python. По моему мнению, утилита очень проста и эффективна. Но, к сожалению она не распространена и имеет очень небольшую документацию только на английском языке. Это меня натолкнуло на написание вводного курса по этой утилите. Итак, поехали.
Для начала надо установить саму утилиту. Заходим в терминал и вводим команду:
После этого нам надо создать папку где будут хранится все наши проекты.
Например пусть это будет:
После создания папки нам надо в неё перейти. В терминале вводим:
Теперь создаем само приложение. В терминале вводим:
и переходим в папку с только что созданным приложениям
Вместо foo пишите название вашего будущего приложения.
На этом подготовка закончена далее переходим к следующему этапу.
Приступаем к основному этапу.
Итак, в утилите Quickly есть 3 основные команды:
— открывает текстовый редактор с основными файлами проекта для редактирования.
— Открывает редактор UI интерфейса.
Также есть дополнительные команды:
— Добавляет заголовок лицензии к каждому файлу вашего проекта.
Перед выполнением этой команды надо заполнить файл AUTHORS в папке с вашим проектом.
— Добавляет новый диалог к вашему проекту.
— Добавляет новое руководство.
— Добавляет новый топик к руководству проекта.
Эти команды составляют основную функциональность утилиты.
А теперь я вам хочу пояснить две очень важные вещи с которыми вы обязательно сталкнётесь.
1. Где подключать сигналы к функциям.
Делается это в файле Window.py в папке foo_lib. Вместо foo имя вашего приложения.
С помощью специально названых функций. Например:
button1 — это виджет.
clicked — это сигнал.
Аргументы функции лучше не изменять.
2. Как обращаться к виджетам из python кода.
Это делается с помощью функции:
Это основные моменты на которые стоит обратить внимание. Остальное зависит от вашего знания python.
А теперь я вам рекомендую посмотреть видео о создании простого приложения с помощью Quickly.
Теперь переходим к следующему этапу.
Казалось бы, что это все что умеет утилита, но это не так.
Она к тому же умеет собрать Debian пакет и опубликовать проект на Launchpad или на Bazaar.
Для того что бы собрать Debian пакет, выполните следующею команду в терминале:
Пакет будет создан на уровень выше от папки с вашим проектом.
А для того что бы опубликовать ваш проект на Launchpad, выполните следующию команду:
И выполняйте инструкции которые указываются в окне терминала.
После первой публикации вы сможете выполнять команду:
Которая автоматически будет отправлять новые версии проекта на Launchpad.
На этом вводный курс по утилите Quickly закончен.
Python предоставляет нам два способа запуска программы:
- Использование подсказки интерактивного помощника.
- Использование файла сценария.
Давайте подробно обсудим каждый из них.
Интерактивная подсказка помощника
Python предоставляет нам возможность выполнять инструкции интерактивного помощника. Это предпочтительнее в том случае, когда нас беспокоит вывод каждой строки программы Python.
Чтобы использовать интерактивный режим, откройте терминал(или командную строку) и введите python(python3 в случае, если в вашей системе установлены Python2 и Python3).
Откроется следующее приглашение, в котором мы можем выполнить оператор Python и проверить влияние на консоль.
После написания отчета о печати нажмите клавишу Enter.
Использование файла сценария(Программирование в режиме сценария)
Подсказка интерпретатора лучше всего подходит для выполнения однострочных операторов кода. Однако мы не можем писать код каждый раз на терминале. Не рекомендуется писать несколько строк кода.
Используя режим сценария, мы можем записать многострочный код в файл, который может быть выполнен позже. Для этого нам нужно открыть редактор, например блокнот, создать файл с именем и сохранить его с расширением .py, что означает «Python». Теперь мы реализуем приведенный выше пример, используя режим скрипта.
Чтобы запустить этот файл с именем first.py, нам нужно запустить следующую команду на терминале.
Шаг 2: Теперь напишите код и нажмите «Ctrl + S», чтобы сохранить файл.
Результат будет показан следующим образом.
- Откройте командную строку и перейдите в каталог.
- Нам нужно ввести ключевое слово python, затем имя файла и нажать Enter, чтобы запустить файл Python.
Многострочные операторы
Многострочные операторы записываются в блокнот как редактор и сохраняются с расширением .py. В следующем примере мы определим выполнение нескольких строк кода с помощью скрипта Python.
Плюсы и минусы режима сценария
Режим сценария также имеет несколько преимуществ и недостатков. Давайте разберемся в следующих преимуществах запуска кода в режиме скрипта:
- Мы можем запускать несколько строк кода.
- Отладка выполняется легко в режиме сценария.
- Подходит как для новичков, так и для экспертов.
Посмотрим на недостатки скриптового режима:
- Нужно сохранять код каждый раз, если мы вносим в него какие-либо изменения.
- Когда мы запускаем одну или несколько строк кода, это может быть утомительно.
Начало работы с PyCharm
В нашей первой программе мы использовали gedit в CentOS в качестве редактора. В Windows у нас есть альтернатива, например блокнот или блокнот ++, для редактирования кода. Однако эти редакторы не используются в качестве IDE для Python, поскольку они не могут отображать предложения, связанные с синтаксисом.
JetBrains предоставляет самую популярную и широко используемую кроссплатформенную IDE PyCharm для запуска программ Python.
Установка PyCharm
Windows
Чтобы создать первую программу для Pycharm, выполните следующий шаг.
- Мы можем сохранить созданный проект в выбранном по желанию месте памяти или оставить расположение файла как есть, но, по крайней мере, изменить имя проекта по умолчанию без названия на «FirstProject» или что-то значимое.
- Pycharm автоматически найдет установленный интерпретатор Python.
- После изменения имени нажмите кнопку «Создать».
Базовый синтаксис Python
Отступы в Python
Отступы Python определяют, какая группа операторов принадлежит конкретному блоку. В языках программирования, таких как C, C ++, java, для определения блоков кода используются фигурные скобки <>.
В Python операторы, находящиеся на одном уровне справа, принадлежат одному блоку. Мы можем использовать четыре пробела для определения отступа. Давайте посмотрим на следующие строки кода.
В приведенном выше коде цикл for имеет блоки кода, если оператор имеет блок кода внутри цикла for. Оба с четырьмя пробелами с отступом. Последний оператор print() без отступа; это означает, что он не принадлежит циклу for.
Комментарии в Python
Мы можем добавить комментарий в каждую строку кода Python.
Типы комментариев
Мы также можем написать комментарий рядом с оператором кода. Рассмотрим следующий пример.
Мы также можем использовать другой способ.
Это основное введение в комментарии. Просмотрите наш урок по комментариям Python, чтобы изучить его подробно.
Идентификаторы Python
Идентификаторы Python относятся к имени, используемому для идентификации переменной, функции, модуля, класса, модуля или других объектов. Есть несколько правил, которым нужно следовать при присвоении имени переменной Python.
- Имя переменной должно начинаться с английской буквы или символа подчеркивания(_).
- Имя переменной не может начинаться с числа.
- В имени переменной нельзя использовать специальные символы.
- Имя переменной чувствительно к регистру.
Мы определили базовый синтаксис языка программирования Python. Мы должны ознакомиться с основной концепцией любого языка программирования. Как только мы запомним концепции, упомянутые выше, изучение Python станет проще.
Python доступен практически в любом современном дистрибутиве Linux, поэтому тем, кто собирается написать свою первую программу на Python в Linux, установка никаких дополнительных программ не потребуется (в дальнейшем нам конечно понадобятся кое-какие дополнительные библиотеки Python, но мы обязательно разберем их установку).
Для написания своей первой программы на Python в Linux, просто запустите свой любимый Linux и следуйте шагам этого совета.
Для написания Python-программ можно использовать любой из текстовых редакторов (я буду рассматривать редактор vi/vim). Не пугайтесь, основное количество программистов не использует для написания простых (и не только!) программ какое-либо многофункциональное программное обеспечение (типа сред программирования и т.п.). Достаточно воспользоваться тем, что есть под рукой!
Давайте попробуем посмотреть наличие Python в вашем дистрибутиве Linux. Для этого выполните команду: which python и, в случае успеха, вы увидите что-то вроде этого:
Как видим, Python присутствует в нашей системе и это хороший знак для того, чтобы продолжить наши действия.
Создадим каталог, в котором мы будем практиковаться в написании программ на Python и назовем его testplace: mkdir testplace и перейдем в него, выполнив команду: cd
Теперь создадим текстовый файл first.py, который и будет нашей первой программой на Python. Выполните команду: touch first.py и посмотрим его наличие командой: ls он обязательно там должен появиться!
Обратите внимание, что расширение у созданного нами файла должно быть .py. Это расширение стандартно для программ на Python и вскоре вы увидите, что очень много программ на Python уже существуют в вашей системе (если у вас Linux/Unix).
Теперь приступаем к написанию кода нашей первой программы на Python.
Выйдем из файла с сохранением, выполнив: :wq .
Для того, чтобы выполнить написанную нами программу в Linux, нам необходимо назначить ей права на выполнение. Сделаем это командой: chmod x first.py
Пришло время попробовать запустить созданную нами нашу первую программу на Python. Выполните в командной строке: ./first.py и посмотрите на результат. Он должен быть таким:
Код нашей первой программы очень прост:
3 строка ( print "Hello World. " ) - это просто вывод на экран надписи "Hello World. ".
Мы с вами написали крайне примитивную программу, выводящую на экран всего лишь одну строку, но многие учебники по программированию начинаются именно с этой "программы". Это стандарт, с которого начинают все программисты. С него начали и мы.
В последующих статьях мы не будем разбирать то, как создать файл и как назначить ему права на выполнение, а будем разбирать код создаваемых программ и сам процесс их работы.
Читайте также: