Перейти к содержимому

Как работать с python в linux

  • автор:

Как работать с python в linux

Для создания программ на Python нам потребуется интерпретатор. Стоит отметить, что в некоторых дистрибутивах Linux (например, в Ubuntu) Python может быть установлен по умолчанию. Для проверки версии Python в терминале надо выполнить следующую команду

python3 --version

Версия интерпретатора Python в Linux

Если Python установлен, то она отобразит версию интерпретатора.

Однако даже если Python установлен, его версия может быть не самой последней. Для установки последней доступной версии Python выполним следующую команду:

sudo apt-get update && sudo apt-get install python3

Если надо установить не последнюю доступную, а какую-то определенную версию, то указывается также подверсия Python. Например, установка версии Python 3.10:

sudo apt-get install python3.10

Соответственно, установка версии Python 3.11:

sudo apt-get install python3.11

Запуск интерпретатора

После установки интерпретатора, как было описано в прошлой теме, мы можем начать создавать приложения на Python. Итак, создадим первую простенькую программу. Для этого введем в терминале

python3

В результате запускается интерпретатор Python. Введем в него следующую строку:

print("hello METANIT.COM")

И консоль выведет строку «hello METANIT.COM»:

Первая программа на Python в Linux

Для этой программы использовалась функция print() , которая выводит некоторую строку на консоль.

Создание файла программы

В реальности, как правило, программы определяются во внешних файлах-скриптах и затем передаются интерпретатору на выполнение. Поэтому создадим файл программы. Для этого определим для скриптов папку python . А в этой папке создадим новый текстовый файл, который назовем hello.py . По умолчанию файлы с кодом на языке Python, как правило, имеют расширение py .

Создание скрипта на языке Python на Linux

Откроем этот файл в любом текстовом редакторе и добавим в него следующий код:

name = input("Введите имя: ") print("Привет,", name)

Python в Visual Studio Code

Скрипт состоит из двух строк. Первая строка с помощью функции input() ожидает ввода пользователем своего имени. Введенное имя затем попадает в переменную name .

Вторая строка с помощью функции print() выводит приветствие вместе с введенным именем.

Теперь запустим терминал и с помощью команды cd перейдем к папке, где находится файл с исходным кодом hello.py (например, в моем случае это папка metanit/python в каталоге текущего пользователя). И затем выполним код в hello.py с помощью следующей команды

python3 hello.py

В итоге программа выведет приглашение к вводу имени, а затем приветствие.

Как запустить скрипт Python в Linux

Одним из самых популярных языков программирования является Python. Его часто используют программисты для написания различных системных скриптов для Linux (арендовать vps сервер python). Например, если в Windows не хватает системных возможностей, то используется программа PoweShell. В Linux на такой случай предусмотрен именно язык Python. Особенность Python в том, что на нем написано огромное количество системных программ, в частности менеджер apt, видеоредактор OpenShot, а также множество скриптов, которые вы можете установить с помощью утилиты. Дальше рассмотрим, как запустить Python скрипт в Linux с помощью терминала различными способами.

Запускаем скрипт Python в Linux

В качестве примера испольуем Python скрипт. Но не будем брать уже существующий, а создаим новым — собственный:

Чтобы запустить скрипт необходимо передать его интерпретатору Python. Для этого просто откройте терминал с помощью сочетания клавиш Ctrl + Alt + T, перейдите в папку со скриптом и выполните:

Если вы хотите, чтобы после выполнения скрипта открылась консоль, в которой можно интерактивно выполнять команды языка Python используйте опцию -i:

Как видим, при запуске apt или openshot не надо писать слово python. Это намного удобнее. Давайте разберемся как это реализовать. Если вы не хотите указывать интерпретатор в командной строке, его надо указать в самом скрипте. Для этого в скрипт добавим строчку:

Сохраните изменения, а затем сделайте файл скрипта исполняемым с помощью такой команды:

$ chmod ugo+x script.py

После этого можно запустить скрипт Python просто обращаясь к его файлу:

Если убрать расширение .py и переместить скрипт в каталог, который находится в переменной PATH, например /usr/bin/, то его можно будет выполнять вот так:

Запуск команды python Linux выполняется довольно просто и для этого даже есть несколько способов. Можете пользоваться любым из них.

HOW-TO: Программа на Python, Часть 1

Из множества существующих языков программирования Python — один из самых лёгких в изучении. Он создан в конце 80-х годов XX века, но с тех пор он сильно изменился. Хотя Python входит в состав большинства дистрибутивов Linux, на него часто не обращают внимания при выборе языка для изучения. В этой статье мы рассмотрим создание консольных приложений, а в следующей — программирование графических интерфейсов ( GUI ). Давайте создадим простую программу прямо сейчас.

Наша первая программа

Наберём код в текстовом редакторе (например, в gedit). Потом мы разберёмся, что делает каждая строка и пойдём дальше.

Введите эти 4 строки:

#!/usr/bin/env python3 print ("Hello. I am a python program.") name = input("What is your name?") print ("Hello there, " + name + "!")

Это всё. Сохраните файл как hello.py в любом месте. Я предлагаю сохранить его в папке python_examples в домашнем каталоге. Этот пример показывает, как просто написать программу на Python. Для запуска программы нужно сделать её файл исполняемым. Для этого введите в терминале

chmod +x hello.py

в папке, в которой вы сохранили программу. Теперь запустите её.

greg@earth:~/python_examples$ ./hello.py Hello. I am a python program. What is your name? Ferd Burphel Hello there, Ferd Burphel! greg@earth:~/python_examples$

Вот и всё. Теперь давайте рассмотрим что делает каждая строка программы.

#!/usr/bin/env python3

Эта строка сообщает системе, что для запуска программы необходимо использовать интерпретатор Python версии 3.

print ("Hello. I am a python program.")

Эта строка просто печатает в окне терминала Hello. I am a python program.

name = input("What is your name? ")

Эта строка немного сложнее. В ней две части. Первая часть: name = и вторая часть: input(«What is your name? «). Сначала рассмотрим вторую часть. Команда input печатает вопрос в терминале («What is your name? ») и ожидает, пока пользователь (вы) не напечатает что-нибудь (и не нажмёт ). Теперь рассмотрим первую часть команды: name =. Она создаёт переменную под названием «name». Что такое переменная? Переменную можно представить себе в виде ящика. В ящике можно хранить вещи: ботинки, части компьютера, бумаги, всё, что туда влезет. Ящику всё равно, что лежит внутри — оно просто лежит там. В нашем примере он хранит то, что вы напечатаете. Я напечатал Ferd Burphel. В данной программе Python просто берёт введённое значение и сохраняет его в ящике «name», чтобы использовать в программе в дальнейшем.

print ("Hello there, " + name + "!")

В этой строке мы опять используем команду print для вывода текста на экран, в данном случае для вывода «Hello there, » и того, что хранится в переменной «name» и восклицательного знака в конце. В данной строке мы соединяем три куска текста: «Hello there», информацию в переменной «name» и восклицательный знак.

Теперь давайте быстро обсудим то, что мы сделали, и перейдём к работе над следующим примером. Откройте окно терминала и наберите:

python3

Вы должны увидеть что-то наподобие этого:

greg@earth:~/python_examples$ python3 Python 3.4.3 (default, Oct 14 2015, 20:28:29) [GCC 4.8.4] on linux Type "help", "copyright", "credits" or "license" for more information.

Теперь вы находитесь в командной оболочке python. Здесь вы можете выполнять действия, но для начала разберёмся с тем, что у нас получилось. Первым делом вы увидите версию интерпретатора python — у меня стоит 3.4.3. Затем вы увидите сообщение о том, что для получения справки необходимо набрать «help» в командной строке. Это я оставляю Вам в качестве домашнего задания. А пока наберите:

print (2+2)

и нажмите Enter. вы увидите:

print (2+2) 4

Обратите внимание, что мы набрали слово «print» в нижнем регистре. Что произойдёт, если набрать «Print (2+2)»? Интерпретатор ответит следующим образом:

Print (2+2) Traceback (most recent call last): File "", line 1, in NameError: name 'Print' is not defined

Это произошло потому, что слово «print» является зарегистрированной командой, а слово «Print» не является таковой. Для Python регистр очень важен.

Теперь поработаем с переменными ещё раз. Введите:

var = 2+2

Вы увидите, что ничего не происходит, за исключением того, что Python отобразит приглашение «>>>». Всё нормально. Мы поручили Python создать переменную (ящик) под названием «var» и положить в неё результат сложения «2+2». Чтобы увидеть, что теперь находится в переменной «var», введите:

print (var)

и нажмите Enter.

print (var) 4

Теперь мы можем снова использовать переменную «var» как число 4. Например, так:

print (var * 2) 8

Если мы снова наберём «print (var)», то увидим следующее:

print (var) 4

Переменная «var» не изменилась. В ней осталась храниться сумма 2+2, то есть 4.

Конечно, данная программа очень простая и написана для этого урока для начинающих. В последующих уроках программы станут более сложными. А сейчас давайте рассмотрим ещё несколько примеров с переменными.

Введите в интерпретаторе:

strng = 'The time has come for all good men to come to the aid of the party!' print (strng) The time has come for all good men to come to the aid of the party!

Вы создали переменную под названием «strng», которая содержит значение «The time has come for all good men to come to the aid of the party!». С этого момента (пока мы работаем с этим экземпляром интерпретатора) переменная «strng» будет содержать то же значение, пока мы её не изменим. Что будет, если мы попробуем умножить эту переменную на 4?

print (strng * 2) The time has come for all good men to come to the aid of the party!The time has come for all good men to come to the aid of the party!

Произошло не совсем то, что вы ожидали. Python напечатал значение переменной «strng» 2 раза. Почему? Интерпретатор знал, что переменная «strng» — это строка, а не число. Невозможно производить математические операции над строками.

Если бы у нас была переменная под названием «s», которая содержала бы значение «4» как показано ниже:

s = '4' print (s) 4

Кажется, что переменная «s» содержит число 4, но это не так. Она содержит текстовое значение «4». И если мы наберем «print (s * 4)», то получим…

print (s*4) 4444

Снова интерпретатор знает, что переменная «s» — это строка, а не число. Он знает это, потому что мы взяли число 4 в одинарные кавычки, что означает, что оно является строкой. Мы можем проверить это, набрав «print type(s)», чтобы увидеть, какой тип система присвоила данной переменной.

print (type(s))

Подтверждено. Переменная имеет тип «строка». Если мы захотим использовать её в качестве числа, то мы напечатаем следующее:

print (int(s) * 4) 16

Строка «s», содержащая значение «4», преобразована в число и умножена на 4, что равно 16.

Теперь у Вас есть основные знания о командах print и input, создании переменных и разнице между строками и числами.

Пойдём дальше. В интерпретаторе Python введите quit() для выхода в командную строку.

Пример цикла For

Теперь давайте рассмотрим пример программирования цикла. Запустите текстовый редактор и наберите следующую программу:

#!/usr/bin/env python3 for cntr in range(0,10): print (cntr)

Не забудьте поставить символ табуляции перед строкой «print (cntr)». Это важно. В Python для указания на блоки кода используются не круглые «(» и фигурные «

Сохраните программу под именем «for_loop.py». До её запуска давайте поговорим о том, что такое цикл «for».

Цикл — это код, выполняющий определённую инструкцию или набор инструкций определённое число раз. В нашей программе мы выполним цикл 10 раз, печатая значение переменной «cntr». Вот перевод команды на русский язык «присвоить переменной «cntr» значение 0, выполнить печать значения переменной «cntr», прибавить к переменной «cntr» 1 и повторить это 10 раз». Выглядит довольно просто. Часть кода «range(0,10)» говорит: начать с 0, повторять, пока значение переменной «cntr» не будет равно 10, и выйти.

Теперь, как раньше, выполните команду

chmod +x for_loop.py

и запустите программу:

./for_loop.py
greg@earth:~/python_examples$ ./for_loop.py 0 1 2 3 4 5 6 7 8 9 greg@earth:~/python_examples$

Кажется, программа работает, но почему она считает только до 9 и останавливается? Посмотрите её вывод. Напечатано 10 цифр: от 0 до 9. Это то, что мы запрограммировали: напечатать значение переменной «cntr» 10 раз, каждый раз добавляя единицу к переменной, и выйти, когда её значение будет равно 10.

Теперь вы видите, что программирование может быть как простым, так и сложным. Вы должны точно знать, что вы хотите от программы. Если вы измените команду «range» на «range(1,10)», она начнёт считать с 1, но остановится на 9, так как при достижении верхнего порога (10) цикл прерывается. Чтобы заставить программу печатать «1,2,3,4,5,6,7,8,9,10», надо заменить команду на «range(1,11)», так как цикл «for» прерывается при достижении второго числа в команде «range».

Обратите также внимание на синтаксис цикла. Двоеточие в команде «for переменная in range(начальное значение,конечное значение):» означает начало блока кода, который должен быть смещен вправо. Вы должны использовать двоеточие «:» и смещать код вправо до конца блока — это очень важно.

Если мы изменим нашу программу таким образом:

#!/usr/bin/env python for cntr in range(1,11): print (cntr) print ("All Done")

Мы увидим на экране следующее:

greg@earth:~/python_examples$ ./for_loop.py 1 2 3 4 5 6 7 8 9 10 All Done greg@earth:~/python_examples$

Убедитесь в том, что вы соблюдаете уровни вложенности. Запомните: от них зависит выделение блоков. В следующем уроке мы подробнее рассмотрим уровни вложенности.

На сегодня хватит. В следующем уроке мы продолжим изучать команды языка Python. А пока, вам стоит попробовать специализированные редакторы для Python, например, Dr. Python или SPE (Stani’s Python Editor). Обе программы вы найдёте в Synaptic.

Установка Python 3 и настройка среды программирования на сервере Ubuntu 18.04

Установка Python 3 и настройка среды программирования на сервере Ubuntu 18.04

Python — гибкий и универсальный язык программирования, который можно использовать для разнообразных задач. Особенно полезен для создания скриптов, автоматизации, анализа данных, машинного обучения и разработки серверных компонентов приложений. Разработчики выпустили первую версию языка Python в 1991 году с целью создать интересный язык программирования и назвали его в честь британской комедийной группы Monty Python. Python легко настраивать, и с его помощью можно создавать относительно простой код с немедленным получением уведомлений об ошибках. Это отличный выбор как для начинающих, так и для опытных разработчиков. Python 3 — самая последняя версия этого языка, которая считается будущим Python.

В этом обучающем модуле вы научитесь настраивать на сервере Ubuntu 18.04 среду программирования Python 3. Программирование на сревере дает много преимуществ и обеспечивает поддержку совместной работы над проектами разработки. Общие принципы этого обучающего модуля относятся к любым дистрибутивам Debian Linux.

Предварительные требования

Для выполнения этого обучающего руководства у вас должен быть пользователь без прав root с привилегиями sudo на сервере Ubuntu 18.04. Чтобы выполнить необходимую первоначальную настройку, воспользуйтесь нашим руководством по ручной начальной настройке сервера или запустите наш автоматизированный скрипт.

Если вы еще не знакомы со средой терминалой, вам будет полезна статья «Введение в терминалы Linux».

После настройки сервера и пользователя вы можете продолжить.

Шаг 1 — Настройка Python 3

Ubuntu 18.04 и другие версии Debian Linux поставляются с предустановленными средами программирования Python 3 и Python 2. Чтобы убедиться в обновлении версий, мы выполним обновление системы с помощью команды apt для работы с инструментом Ubuntu Advanced Packaging Tool:

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

После завершения этой процедуры мы можем проверить установленную в системе версию Python 3 с помощью следующей команды:

На экране терминала будет выведена страница результатов, где вы сможете увидеть номер версии. Хотя номер версии может различаться, результат будет выглядеть примерно так:

Output
Python 3.6.7

Для управления программными пакетами Python мы установим инструмент pip, предназначенный для установки и управления пакетами программирования, которые мы можем захотеть использовать в наших проектах разработки. Дополнительную информацию о модулях и пакетах, которые можно установить с помощью pip, можно найти в документе «Импортирование модулей в Python 3».

Пакеты Python можно установить с помощью следующей команды:

Здесь package_name может относиться к любому пакету или любой библиотеке Python, в том числе Django для веб-разработки или NumPy для научных вычислений. Если вы захотите установить NumPy, вы можете использовать команду pip3 install numpy .

Можжно установить несколько дополнительных пакетов и средств разработки, чтобы получить надежную основу для нашей среды программирования:

После настройки Python и установки pip и других инструментов мы можем настроить виртуальную среду для наших проектов разработки.

Шаг 2 — Настройка виртуальной среды

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

Настройка среды программирования обеспечивает нам дополнительный контроль над нашими проектами Python и над обработкой разных версий пакетов. Это особенно важно при работе с пакетами сторонних разработчиков.

Вы можете настроить любое желаемое количество сред программирования Python. Каждая среда представляет собой каталог или папку на сервере, содержащую несколько скриптов, обеспечивающих ее работу.

Хотя существует несколько способов создания среды программирования в Python, мы используем модуль venv, входящий в состав стандартной библиотеки Python 3. Для установки venv введите следующую команду:

С этим модулем мы готовым приступить к созданию сред. Вначале выберем каталог, где мы хотим разместить наши среды программирования Python, или создадим такой каталог с помощью команды mkdir :

Для создания среды перейдите в каталог, где вы хотите разместить среды, и введите следующую команду:

Команда pyvenv настраивает новый каталог, содержащий несколько элементов, которые мы можем просмотреть с помощью команды ls :

Output
bin include lib lib64 pyvenv.cfg share

Совместная работа этих файлов обеспечивает изоляцию ваших проектов в более широком контексте вашего локального компьютера, так что системные файлы и файлы проекта не смешиваются. Будет очень полезно использовать контроль версий и обеспечить каждому из ваших проектов доступ к конкретным пакетам, которые ему необходимы. Python Wheels — это формат готовых пакетов для Python, помогающий ускорить разработку программного обеспечения за счет сокращения количества операций компиляции. Он находится в каталоге share в Ubuntu 18.04.

Чтобы использовать эту среду, ее нужно активировать. Для этого введите следующую команду, вызывающую скрипт activate:

В командной строке теперь будет отображаться имя вашей среды, в данном случае my_env . В зависимости от используемой версии Debian Linux префикс может выглядеть несколько иначе, однако называние вашей среды в скобках — это первое, что вы увидите в строке:

Префикс сообщает нам, что среда my_env активна, и что при создании программ они будут использовать настройки и пакеты этой конкретной среды.

Примечание. В виртуальной среде вы можете при желании использовать команду python вместо python3 и команду pip вместо pip3 . Если вы используете Python 3 на компьютере вне виртуальной среды, вы можете использовать только команды python3 и pip3 .

После выполнения этих шагов ваша виртуальная среда готова к использованию.

Шаг 3 — Создание программы «Hello, World»

Теперь мы настроили нашу виртуальную среду и готовы создать традиционную программу «Hello, World!» Это позволит нам протестировать нашу среду и познакомиться с Python поближе, если мы еще не сделали этого.

Для этого мы откроем текстовый редактор командной строки (например, nano) и создадим новый файл:

Когда текстовый файл откроется в окне терминала, мы введем нашу программу:

print("Hello, World!") 

Для выхода из nano нажмите клавиши CTRL и X , а когда система предложит вам сохранить файл, нажмите клавишу y .

После выхода из nano и возврата в оболочку мы запустим программу:

Программа hello.py , которую вы только что создали, выведет на вашем терминале следующее:

Output
Hello, World!

Для выхода из среды просто введите команду deactivate , и вы вернетесь в исходный каталог.

Заключение

Поздравляем! Вы настроили среду программирования Python 3 на своем сервере Debian Linux можете начинать проект по программированию!

Если вы используете локальный компьютер, а не сервер, воспользуйтесь обучающем модулем «Установка и настройка локальной среды программирования для Python 3» для вашей операционной системы.

Ваш сервер готов к разработке программного обеспечения. Дополнительную информацию о программировании на Python вы можете узнать из нашей бесплатной электронной книги «Программирование на Python 3» или в обучающих модулях по проектам программирования.

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *