Как запустить Python скрипты?
Python скрипты могут использоваться на серверах хостинга для работы с веб-приложением посредством запуска CGI-процессов. Для запуска скриптов Python в режиме CGI, Вам необходимо :
1. В .htaccess файл, который лежит [в корневой директории сайта] добавить строки, вида:
Options +ExecCGI AddHandler cgi-script .py
где .py — это расширение интерпретируемого файла.
2. При помощи [файлового менеджера] либо [ssh доступа] / [ftp доступа] установить права доступа CHMOD на запускаемый файл — 755
3. В самом скрипте (в самой первой строке) явно указать абсолютный путь к интерпретатору Python из инструкции.
Пример скрипта на python, который Вы можете использовать в качестве теста:
#!/opt/alt/python37/bin/python3 import cgitb import sys cgitb.enable() print ("Content-Type: text/plain;charset=utf-8") print () print ("Hello World!") print (sys.version)
Ошибка Internal Server Error
или suexec policy violation: see suexec log for more details в [логах ошибок] сайта может свидетельствовать о следующем:
• не установлены права 755 на родительский каталог или сам файл.
• в скрипте содержится невидимые BOM символы, которые можно убрать в [SSH] консоли через редактор VIM командой :set ff=unix
Все категории вопросов
- Общие вопросы по услуге хостинга
- Робота с хостинг 2.0
- Работа с базами данных [MySQL]
- Работа с FTP
- Работа с SSH
- Работа с почтой
- Работа с Cron
- Работа с SSL
- Работа с резервным копированием
- Работа с htaccess
- Работа с CMS
- Дополнительные услуги
- Нагрузка
- Ошибки на сайте
- Конструктор сайтов
- Регистрация и продление доменов
- Управление DNS-записями домена
- Трансфер домена
- Смена контактных данных владельца домена
- Настройка CloudFlare
- Общие вопросы по серверам
- Администрирование виртуального сервера (VPS)
- Администрирование выделенного сервера (DS)
- Инструкции по Windows Server
- Инструкции по Linux
- Панель управления FASTPANEL
- Панель управления Hestia CP
- Панель управления Vesta CP
- Платный SSL-сертификат
- Файловое хранилище
- SMS-сервис
- CallBack-сервис
5 способов запустить Python скрипт не на локальной машине (для новичка)
Привет. Я не являюсь разработчиком и когда набросал простой скрипт для личных целей, задался вопросом: «Как запустить код не на своем компьютере?». Самые частые ответы в поисковике были про сервер и Docker. В результате забил гвоздь микроскопом. Почитать можно здесь.
Для специалистов с опытом статья наверное не имеет ценности, но новичкам надеюсь поможет сориентироваться и не потратить много часов на поиск информации и не совершать моих ошибок.
Варианты
Все ниже перечисленные способы подходят для несложного скрипта. Например, мой код для сборки статистики с группы VK, каждый час выполняет работу и завершается. Подробности тут.
Именно о запуске не сложных программ пойдет речь. Решения:
- Yandex Functions и пр.
Облачные решения
Простой скрипт и простое решение. Все необходимое есть и не нужно возиться с сервером.
Yandex Functions
Достаточно зарегистрироваться. Перейти в консоль, потратить время на документацию, перенести свой код и настроить таймеры. В функционал уже встроены логирование и мониторинг.
Что по деньгам? Бесплатно можно выполнять 1 000 000 раз в месяц. Что думаю более чем достаточно для небольших задач.
Существуют аналогичные заморские решения Amazon Lambda, Google Cloud Functions, Azure Functions. С учетом действующих ограничений не вижу смысла дополнительно тратить время на преодоления всех препятствий, когда результат принципиально не будет отличаться. Если есть желание разобраться оставлю ссылки на пример работы:
VPS сервер
Аренда сервера мне кажется избыточным решением для запуска одного простого скрипта. Это оправдано в случае если есть желание разобраться как взаимодействовать с сервером или в будущем будите разрабатывать более сложные проекты.
Для настройки связи вашего сервера с локальной машиной, вам нужно будет настроить SSH. Если вы часто планируете вносить изменения в код для переноса файлов рекомендую настроить Github это решение удобное и практичное.
- SSH с 1:05:23 до 1:08:25
- Github с 1:10:17 до 1:14:32
В качестве альтернативы Github можно установить себе FileZilla Client. GUI позволяет удобно перетаскивать необходимые файлы и папки. Так же можно копировать файлы используя только командную строку.
Python
Простой способ применить бесконечный цикл с задержкой времени непосредственно в скрипте. Пример на имитации часов.
import time while True: localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result) time.sleep(1)
Второй способ сделать то же самое используя библиотеку schedule. Эта библиотека дает возможность более гибко настроить время исполнения кода. Например, ваш скрипт должен запускаться каждую субботу в 6 часов.
import schedule import time def job(): localtime = time.localtime() result = time.strftime("%I:%M:%S %p", localtime) print(result) schedule.every().sunday.at("06:00").do(job) while True: schedule.run_pending()
У зацикливания есть ощутимый минус если программа упадет, то самостоятельно в следующей период она не запуститься.
Crontab
Немного сложнее, чем цикл в самом коде. Вам придётся поработать с командой строкой и в самом файле сrontab прописать, когда и какой файл запускать. Если у вас произойдет ошибка, не связанная с вашим кодом, например, упадет внешний API сервиса к которому вы обращаетесь, то в следующий период запуска, когда API будет восстановлен ваш скрипт отработает. Минусом является очень слабое логирование, поэтому понять в каком конкретно месте падает скрипт достаточно сложно.
Systemd
Более трудозатратный способ по сравнению с crontab. Вам придётся потратить время на создание 2-х файлов. Плюсы гибкая настройка времени, условий выполнения и широкое логирование. Вы сможете увидеть ошибку с который упал код.
Docker
Избыточное решение для запуска простого скрипта, тем не менее им тоже можно воспользоваться. В первую очередь вы потратите много времени на установку docker и его настройку. Если у вас простой код, то решение с docker скорее всего не принесет дополнительной ценности кроме опыта работы.
Вывод
Надеюсь статья поможет новичкам и сэкономит их время. Оставляйте комментарии, если считаете, что существуют еще инструменты для запуска простых скриптов. Буду стараться дополнять статью опираясь на вашу обратную связь.
Как запустить скрипт 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 выполняется довольно просто и для этого даже есть несколько способов. Можете пользоваться любым из них.
Как работать с командной строкой и аргументами командной строки в Python
Узнайте, как работать с командной строкой и аргументами командной строки в Python для создания мощных скриптов и утилит.
Алексей Кодов
Автор статьи
10 июля 2023 в 17:48
В этой статье мы рассмотрим, как работать с командной строкой и аргументами командной строки в Python. Этот навык полезен для создания скриптов, которые могут быть запущены из командной строки с различными параметрами.
Работа с командной строкой
Для начала рассмотрим, как запустить Python-скрипт из командной строки.
- Откройте терминал или командную строку на вашем компьютере.
- Перейдите в каталог, где находится ваш Python-скрипт.
- Запустите скрипт, набрав python имя_файла.py .
python my_script.py
Аргументы командной строки
Аргументы командной строки передаются Python-скрипту в виде списка. Для работы с этим списком вам потребуется модуль sys .
Использование модуля sys
Импортируйте модуль sys и получите список аргументов командной строки с помощью sys.argv . Вот пример:
import sys print("Аргументы командной строки:", sys.argv)
Если вы сохраните данный код в файле arguments.py и запустите его из командной строки с аргументами, вы увидите следующее:
python arguments.py arg1 arg2 arg3
Аргументы командной строки: ['arguments.py', 'arg1', 'arg2', 'arg3']
Обратите внимание, что первый элемент списка sys.argv — это имя самого скрипта.
Python-разработчик: новая работа через 9 месяцев
Получится, даже если у вас нет опыта в IT

Обработка аргументов командной строки
Теперь, когда вы знаете, как получить аргументы командной строки, вы можете обрабатывать их в своем скрипте. Рассмотрим пример:
import sys # Проверяем количество аргументов if len(sys.argv) < 2: print("Ошибка: необходимо указать хотя бы один аргумент") sys.exit(1) # Выводим аргументы командной строки, начиная со второго элемента списка for arg in sys.argv[1:]: print("Аргумент:", arg)
Если вы запустите данный скрипт с аргументами, вы увидите следующее:
python process_arguments.py input.txt output.txt
Аргумент: input.txt Аргумент: output.txt
Поздравляем! Теперь вы знаете, как работать с командной строкой и аргументами командной строки в Python. Эти навыки пригодятся вам при создании утилит и скриптов для автоматизации повседневных задач.
