- Как запустить скрипт Python в Linux
- Запускаем скрипт Python в Linux
- Как запустить скрипт на Python
- Интерпретатор Python
- Интерактивный запуск кода
- Как работает интерпретатор Python для скриптов
- Запуск скриптов в командной строке
- Переназначение устройства вывода информации
- Запуск из командной строки без интерпретатора
- Запуск скриптов из интерактивного режима
- Заключение
- Linux запустить питон скрипт
- Устанавливаем Python на сервер
- Создаем виртуальное окружение virtalenv
- Запуск Python-скрипта с помощью Сron
- Как понять что Cron срабатывает?
- Cron срабатывает но Python-скрипт не выполняется
Как запустить скрипт Python в Linux
Одним из самых популярных языков программирования является Python. Его часто используют программисты для написания различных системных скриптов для Linux. Например, если в Windows не хватает системных возможностей, то используется программа PoweShell. В Linux на такой случай предусмотрен именно язык Python. Особенность Python в том, что на нем написано огромное количество системных программ, в частности менеджер apt, видеоредактор OpenShot, а также множество скриптов, которые вы можете установить с помощью утилиты. Дальше рассмотрим, как запустить Python скрипт в Linux с помощью терминала различными способами.
Запускаем скрипт Python в Linux
В качестве примера испольуем Python скрипт. Но не будем брать уже существующий, а создаим новым — собственный:
Чтобы запустить скрипт необходимо передать его интерпретатору Python. Для этого просто откройте терминал с помощью сочетания клавиш Ctrl + Alt + T, перейдите в папку со скриптом и выполните:
Если вы хотите, чтобы после выполнения скрипта открылась консоль, в которой можно интерактивно выполнять команды языка Python используйте опцию -i:
Как видим, при запуске apt или openshot не надо писать слово python. Это намного удобнее. Давайте разберемся как это реализовать. Если вы не хотите указывать интерпретатор в командной строке, его надо указать в самом скрипте. Для этого в скрипт добавим строчку:
Сохраните изменения, а затем сделайте файл скрипта исполняемым с помощью такой команды:
После этого можно запустить скрипт Python просто обращаясь к его файлу:
Если убрать расширение .py и переместить скрипт в каталог, который находится в переменной PATH, например /usr/bin/, то его можно будет выполнять вот так:
Запуск команды python Linux выполняется довольно просто и для этого даже есть несколько способов. Можете пользоваться любым из них.
Источник
Как запустить скрипт на Python
Начинающий разработчик на Python, помимо синтаксиса и основных правил использования операторов этого языка, должен уметь запускать код на исполнение. Ведь только так можно понять, работает ли написанный вами скрипт, или в нем содержатся ошибки. Рассмотрим подробнее, как можно запустить скрипты в терминале операционной системы, в интегрированной среде разработки или просто из интерфейса ОС. Это позволит вам выбрать подходящий вариант и повысить эффективность своей работы.
Интерпретатор Python
Рассматриваемый язык программирования является одним из самых прогрессивных на текущий момент. Он позволяет быстро и эффективно решать задачи в самых разных областях. Однако под термином Python понимают также интерпретатор, то есть программу на компьютере, которая позволяет запускать на исполнение написанные скрипты. Она представляет собой дополнительный программный слой между аппаратным обеспечением ПК и кодом.
Существует несколько интерпретаторов:
- написанные на языке программирования С;
- написанные на языке программирования Java;
- написанные на языке Python;
- программы, реализованные в среде .NET.
Выбор конкретного варианта для конечного пользователя значения не имеет. Независимо от вида программы, написанный код будет выполняться именно так, как предусмотрено правилами этого языка.
Запуск возможен двумя способами: как готовая к использованию программная последовательность (скрипт или модуль) или как отдельные куски кода, которые вводятся прямо в окно программы.
Интерактивный запуск кода
Для тестирования отдельных команд можно использовать интерпретатор в режиме интерактивного сеанса. Для этого необходимо открыть командную строку операционной системы и ввести команду, которая запускает интерпретатор.
Для ОС Linux это будет выглядеть следующим образом:
Теперь можно вводить команды, которые будут выполняться сразу после этого. Минус подобного подхода в том, что вся введенная последовательность не сохраняется после закрытия текущей сессии.
Интерактивное исполнение кода необходимо для того, чтобы немедленно протестировать фрагмент написанного кода. Кроме того, его можно использовать в процессе обучения для проверки действий тех или иных операторов «на лету». Этот способ интерпретации команд позволяет попробовать нужные вам функции языка, не прибегая к написанию отдельных скриптов для этого.
Выйти из интерактивного режима можно с помощью команды quit(), или просто закрыв окно терминала в Windows.
Для открытия терминала или командной строки перед запуском самого интерпретатора необходимо:
- В Windows нажать комбинацию клавиш «Флажок» + «R», после чего ввести команду cmd и нажать на кнопку «ОК» в диалоговом окне.
- В Linux или других подобных операционных системах доступ к командной строке предоставляется с помощью дополнительной программы. Можно использовать xterm или Konsole.
- В macOS для получения доступа к терминалу необходимо выбрать меню «Приложения», после чего перейти в раздел «Утилиты» и кликнуть на элементе «Терминал».
Как работает интерпретатор Python для скриптов
Запуск на исполнение написанных скриптов или модулей производится в пакетном режиме. И выполняется по сложной схеме, которая состоит из следующих этапов:
- Последовательная обработка всех операторов, которые записаны в скрипте.
- Компиляция исходного хода в промежуточный формат. Интерпретатор создает байт-код, который представляет собой язык программирования низкого уровня, независимый от платформы и операционной системы. Байт-код необходим для оптимизации процесса выполнения скрипта.
- Исполнение полученного кода. На этом этапе вступает в действие виртуальная машина Python (PVM), которая циклично перебирает каждый оператор из скрипта и запускает его на исполнение. Как будто вы вводите каждую команду последовательно в интерактивном интерпретаторе.
Запуск скриптов в командной строке
В интерактивном режиме, который обсуждался выше, можно записывать и выполнять любое количество строк кода. Но после закрытия окна терминала они не сохраняются. Поэтому реальные программы на Python пишутся в виде скриптов и представляют собой обычные текстовые файлы. Чтобы избежать путаницы при их хранении, им присваиваются расширения .py или .piw.
Создавать текстовый файл можно с помощью любого редактора, в том числе Notepad. Однако лучше использовать более продвинутые решения, например Sublime Text. Для примера возьмем наиболее простой скрипт, с которого начинается знакомство с любым языком программирования.
Файл можно сохранить в вашем рабочем каталоге с любым именем и расширением .py.
Чтобы запустить скрипт на исполнение, нужно использовать интерпретатор языка программирования и в качестве дополнительного параметра указать имя созданного вами файла.
В приведенном выше примере файл был назван «hello.py». После ввода команды нужно нажать клавишу «Ввод», и на экране появится результат работы скрипта. То есть надпись «Привет, Мир» или классическое английское «Hello World»!
Если файл с программой сохранен не в каталоге с интерпретатором, нужно указывать путь к нему.
Переназначение устройства вывода информации
При исполнении программного кода на Python иногда необходимо сохранять результаты, которые отображает на экране программа. Они в дальнейшем анализируются для поиска ошибок или других целей. В этом случае скрипт необходимо запускать следующей командой:
По результатам работы скрипта создается файл с именем output.txt, в который сохраняется все то, что должно было появиться на экране во время работы в программе. Это стандартный синтаксис, предусмотренный операционной системой.
Если файла с заданным именем не существует, ОС создает его автоматически. Если существует – данные в нем перезаписываются без сохранения предыдущих. В случае, когда есть необходимость в добавлении данных в конец текстового файла, вместо одного значка > необходимо указать два >>.
Прокачать навык программирования на Python и найти работу Junior Python разработчика помогут наши менторы Выбрать ментора
Запуск из командной строки без интерпретатора
В последних версиях операционной системы Windows добавлена возможность запускать скрипты на Python без ввода в командной строке названия программы-интерпретатора. То есть необходимо просто написать название файла с расширением.
Обусловлено это тем, что при клике на файле или запуске его из командной строки операционная система автоматически ищет связанное приложение и запускает его. Точно так же вы открываете файлы Word, просто кликнув на них курсором мыши.
В Unix таким образом тоже можно запускать скрипты. Однако для этого в первую строку текстового файла с командами необходимо добавить текст #!/Usr/bin/env python. Он указывает на программу, с помощью которой производится запуск. А интерпретатор языка программирования расценивает строку как комментарий и пропускает её.
Запуск скриптов из интерактивного режима
Находясь в интерактивном режиме (описан в первом разделе), пользователь может загрузить файл с написанной ранее последовательностью команд и запустить его на исполнение. Такой способ можно применять, когда модуль содержит вызовы функций, методов или других операторов, генерирующих текст на экране. В противном случае видимых результатов работы программы не будет.
Запустить скрипт из интерактивного режима можно командой:
Обратите внимание, что эта команда срабатывает один раз за интерактивный сеанс. Поэтому, если внести изменения в файл со скриптом и перезапустить его этой командой, ничего не произойдет.
Заключение
Теперь вы знаете, что команды и скрипты Python можно запускать разными способами и в разных режимах. Это позволит вам выбрать нужный вариант для решения конкретной задачи, увеличить скорость своей работы, сделать ее продуктивной и гибкой.
Мы рассказываем, как стать более лучшим разработчиком, как поддерживать и эффективно применять свои навыки. Информация о вакансиях и акциях эксклюзивно для более чем 8000 подписчиков. Присоединяйся!
- mkdev
- Менторы
- Специализации
- Контент
- Стать ментором
- О проекте
- Для компаний
- Что такое менторство
- Как проходит обучение
- Цены
- FAQ
- Impressum
- Аккаунт
- Записаться
- Войти
- Соцсети
© Copyright 2014 — 2021 mkdev | Privacy Policy | Lang: Russian
Источник
Linux запустить питон скрипт
Я, как настоящий старовер, решил построить «data-pipeline» без коннекторов и DAG-менеджеров. Положив два перста на мышку, началась упорная работа. Разобрался с API рекламных систем, установил драйвер bigquery, залил первую таблицу в датасет. Победа была близка, осталось всё автоматизировать. Я начал разворачивать Airflow, а потом проснулся и вспомнил про cron.
Вспомнив про ранее купленный VPS, куда я деплоил свой tf-idf кластеризатор. Было решено залить скрипт на сервер и настроить его запуск на 6 утра ежедневно.
Cron — это демон, а демон — это программа работающая в фоновом режиме. Ну а если вы программировали на Python — вам должны быть знакомы процессы-демоны. Запуск Cron-задания — это легко, но только в случаях когда мы говорим об выполнении php и bash скриптов. С Python всё иначе.
Устанавливаем Python на сервер
Выполняем, указные команды на примере Ubuntu.
Проверяем успешность установки командой python3.
Создаем виртуальное окружение virtalenv
Следующий шаг — изолировать наш проект в отдельное виртуальное окружение, куда мы будем устанавливать нужные нам библиотеки.
Теперь мы видим рядом в консоли перед строкой приписку (venv) — это значит, что мы в виртуальном окружении.
Запуск Python-скрипта с помощью Сron
Давай потестируем то, что у нас получилось на маленьком скрипте, который будет писать в файл дату и время его активации. Таким образом мы проверим как работает cron. Тестовый скрипт, который мы положим в корень папки проекта, у меня это / home / iakulshin / pipeline, заливаем через файловый менеджер filezilla и прочие, если вы хардкорный девопс-дата-инженер удачи вам с nano. Заливаем скрипт указанный ниже в нашу папку.
Давайте попробуем создать cron задание для тестового запуска. В целом нам будут нужны 2 команды:
Появлеятся файлик с крон задачами в редакторе nano. Наша задача установить задание, которое будет запускать наш скрипт каждую минуту.
Наконец, в файлике test.txt каждую минуту появляется текущая дата, учения завершены, теперь рассмотрим возможные проблемы и способы их устранения.
Как понять что Cron срабатывает?
Чтобы удостовериться, что cron-таск отрабатывает, нам необходимо добавить задачу и обратиться к логам сервера, для этого идем в консоль и пишем следующую команду:
В нем вы увидите следующие записи:
Это означает, что cron срабатывает и воспроизводит команду, которую вы указали после звездочек. Но что делать, если python-скрипт всё еще не работает?
Cron срабатывает но Python-скрипт не выполняется
Самая типичная проблема, которая связана с «холостым» крон-таском — это недоступность библиотек, неверный выбор virtual env и версии python. Способ выбранный выше — это способ к которому я пришел спустя десяток часов поисков и изучения stackoverflow. Что нужно проверить для успешного запуска скрипта:
Возьмите команду, которую собирались добавь в крон и запустите её, это поможет словить ошибки связанные с недоступностью библиотек. В моем случае Скрипт не видел импортируемый файл, это я вылечил добавлением папки в системный путь. Добавляем в скрипты следующий код:
Если скрипт запускается по прямой команде из консоли, но cron всё еще не выполняется, то ошибка 100% в том, что ваш скрипт запускается не из под virtualenv или вы запускаете скрипт из под python не подходящей версии, поэтому проверяем следующее:
- Мы перешли в папку со скриптом командой cd
- Мы обратились к интерпретатору python3 находящемуся в папке с виртуальным окружением нашего проекта.
В целом данный гайд должен помочь вам разобраться с запуском Python скриптов с помощью Cron. Однако, я оставлю ссылки на полезные треды в stackoverflow, где представлены дополнительные способы решения этой проблемы.
Источник