Запуск скриптов Python в Linux пошаговое руководство

Как запускать скрипты python в linux

Как запускать скрипты python в linux

В Linux для выполнения Python-скриптов используется интерпретатор, который можно вызвать напрямую через команду python3. Перед запуском важно убедиться, что язык установлен: для проверки версии достаточно выполнить python3 —version. Если интерпретатор отсутствует, его устанавливают через системный пакетный менеджер, например sudo apt install python3 в Debian/Ubuntu или sudo dnf install python3 в Fedora.

Чтобы запустить файл с расширением .py, используют синтаксис python3 script.py. При этом необходимо находиться в каталоге, где хранится скрипт, или указать полный путь к нему. Для часто используемых программ удобнее сделать файл исполняемым, добавив в его начало строку #!/usr/bin/env python3 и выдав права через chmod +x script.py.

В некоторых случаях требуется запускать скрипты в изолированной среде. Для этого применяются виртуальные окружения: команда python3 -m venv venv создаёт отдельную среду, которую активируют через source venv/bin/activate. Такой подход исключает конфликты между версиями библиотек и облегчает управление зависимостями.

Проверка установленной версии Python в системе

Проверка установленной версии Python в системе

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

  • python3 --version – чаще всего показывает актуальную версию Python 3, установленную по умолчанию.
  • python3.X --version (например, python3.11 --version) – позволяет проверить наличие конкретного релиза.

Чтобы убедиться, какая версия будет использоваться при вызове python или python3, можно выполнить:

  • which python или which python3 – покажет путь к исполняемому файлу.
  • ls -l /usr/bin/python* – отобразит все доступные бинарные файлы Python в системе.

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

  1. python3 -m site – дополнительно показывает пути библиотек для выбранного интерпретатора.

Таким образом можно точно определить, какая версия Python активна и откуда она запускается, что позволяет избежать ошибок при работе с проектами, требующими конкретного релиза.

Создание простого Python-скрипта в текстовом редакторе

Откройте любой установленный редактор, например nano или vim. Для запуска используйте команду nano hello.py, где hello.py – имя будущего файла.

Внутри файла напишите минимальный код:

#!/usr/bin/env python3
print("Привет, Linux!")

Первая строка сообщает системе, какой интерпретатор использовать. Без неё запуск возможен только через python3 hello.py.

Сохраните файл сочетанием Ctrl+O, затем выйдите из редактора Ctrl+X. После сохранения проверьте наличие файла командой ls. Если файл отображается в списке, скрипт создан корректно.

Сохранение файла с правильным расширением и кодировкой

Файлы с исходным кодом Python должны иметь расширение .py. Это позволяет системе и редакторам корректно определять тип содержимого и использовать подсветку синтаксиса. Например, при сохранении скрипта используйте имя вида script.py, а не script.txt.

В редакторах Nano и Vim кодировку можно задать при сохранении: в Vim выполните :set fileencoding=utf-8, в Nano используйте запуск с параметром —ignoreread, если нужно перезаписать неверную кодировку. В графических редакторах (например, VS Code или Geany) убедитесь, что выбран режим UTF-8 перед сохранением.

Использование другой кодировки (например, Windows-1251) приведёт к ошибкам UnicodeDecodeError при выполнении. Поэтому всегда сохраняйте исходный код в UTF-8 и проверяйте расширение файла перед запуском.

Назначение прав на выполнение скрипта через chmod

Назначение прав на выполнение скрипта через chmod

По умолчанию сохранённый Python-файл не всегда имеет право на запуск. Чтобы разрешить его выполнение, используется команда chmod, которая управляет атрибутами доступа к файлу.

Для предоставления права запуска владельцу файла применяют команду: chmod u+x script.py. Если требуется, чтобы скрипт можно было запускать всеми пользователями системы, используют: chmod a+x script.py.

Права можно задавать в числовом формате. Например, chmod 755 script.py открывает выполнение для всех, оставляя запись только владельцу. Команда chmod 700 script.py ограничивает полный доступ исключительно владельцем.

При работе в многоuserной среде рекомендуется избегать избыточных прав. Если скрипт не должен выполняться другими пользователями, оставляйте минимально необходимые разрешения.

Добавление шебанга для запуска без указания интерпретатора

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

#!/usr/bin/python3

или более универсальный вариант через env:

#!/usr/bin/env python3

Первый способ фиксирует конкретный путь, что удобно при стабильной структуре системы. Второй ищет интерпретатор в переменной окружения PATH, что повышает переносимость скрипта между разными дистрибутивами.

После добавления шебанга необходимо выдать права на выполнение: chmod +x script.py. Теперь запуск возможен через ./script.py без явного вызова python3.

Рекомендуется всегда указывать версию интерпретатора (python3 вместо python), чтобы избежать запуска в устаревшей среде Python 2.

Запуск скрипта напрямую через интерпретатор Python

Для выполнения скрипта напрямую через интерпретатор Python откройте терминал и укажите полный путь к интерпретатору и файлу скрипта. Стандартная команда выглядит так: python3 /путь/к/скрипту.py.

Если Python установлен через пакетный менеджер, убедитесь, что используете корректную версию. Проверка доступных версий выполняется командой python3 —version или python —version. Для скриптов, совместимых только с Python 3.11 и выше, запуск через python3.11 /путь/к/скрипту.py гарантирует правильное выполнение.

Можно использовать относительный путь, если терминал открыт в каталоге со скриптом: python3 script.py. Абсолютный путь обязателен при запуске из другой директории.

Для передачи аргументов командной строки применяйте следующую конструкцию: python3 script.py аргумент1 аргумент2. Внутри скрипта доступ к ним осуществляется через модуль syssys.argv возвращает список аргументов.

При работе с виртуальными окружениями активируйте его командой source venv/bin/activate, после чего запуск через интерпретатор будет использовать зависимости, установленные только в этом окружении.

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

Для длительных или фоново выполняемых скриптов используйте запуск с добавлением & в конце команды: python3 script.py &. Это позволяет продолжать работу в терминале без прерывания скрипта.

Запуск скрипта из любой директории с использованием PATH

Запуск скрипта из любой директории с использованием PATH

Чтобы запускать Python-скрипт из любой директории в Linux, необходимо добавить путь к скрипту в переменную окружения PATH или переместить скрипт в директорию, уже включённую в PATH.

  1. Сделайте скрипт исполняемым:
    chmod +x /путь/к/скрипту/мой_скрипт.py
  2. Добавьте шебанг в начало файла, чтобы указать интерпретатор Python:
    #!/usr/bin/env python3
  3. Добавьте директорию со скриптом в PATH временно для текущей сессии:
    export PATH=$PATH:/путь/к/скрипту
  4. Для постоянного добавления пропишите строку выше в файле ~/.bashrc или ~/.zshrc и примените:
    source ~/.bashrc
  5. Проверьте доступность скрипта из любой директории:
    мой_скрипт.py

Альтернатива – переместить скрипт в системную директорию с уже настроенным PATH, например:

  • /usr/local/bin – для глобального использования
  • ~/bin – для пользователя, при условии что ~/bin присутствует в PATH

После добавления скрипта в директорию PATH можно запускать его без указания полного пути, что упрощает работу с утилитами и автоматизацию задач.

Отладка ошибок при запуске скрипта в терминале

Отладка ошибок при запуске скрипта в терминале

SyntaxError: invalid syntax in line 23

Исправьте код на указанной строке и проверьте отступы, закрывающие скобки и кавычки. Использование редакторов с подсветкой синтаксиса ускоряет выявление ошибок.

2. Ошибки импорта: Если возникает ModuleNotFoundError, проверьте, установлен ли модуль:

pip3 install имя_модуля

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

python3 --version

3. Ошибки прав доступа: При PermissionError проверьте права на выполнение файла:

ls -l script.py

Для установки прав используйте:

chmod +x script.py

4. Использование отладчика: Вставка import pdb; pdb.set_trace() в проблемное место позволяет пошагово анализировать выполнение кода. Команды n (next), s (step), c (continue) помогают управлять процессом.

5. Логирование ошибок: Для сложных скриптов используйте модуль logging:

Метод Пример Назначение
logging.basicConfig logging.basicConfig(level=logging.DEBUG) Настройка уровня логирования
logging.error logging.error(«Ошибка при открытии файла») Фиксация ошибок без прерывания выполнения

python3 script.py 2> error.log

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

Следование этим шагам помогает быстро локализовать причину ошибки и ускоряет исправление проблем в терминале Linux.

Вопрос-ответ:

Как проверить, установлен ли Python на моей системе Linux?

Для проверки версии Python можно открыть терминал и ввести команду python3 --version или python --version. Если Python установлен, система покажет номер версии, например, Python 3.11.2. Если команды не распознаются, значит, Python не установлен, и его нужно добавить через пакетный менеджер, например, sudo apt install python3 для Debian/Ubuntu.

Как сделать скрипт исполняемым и запускать его без указания Python?

Сначала нужно добавить в начало скрипта строку #!/usr/bin/env python3, которая указывает системе, какой интерпретатор использовать. Затем дайте файлу права на выполнение командой chmod +x имя_файла.py. После этого скрипт можно запускать напрямую, например, ./имя_файла.py, без явного вызова Python.

Можно ли запускать Python-скрипты, если они находятся в другой директории?

Да, для этого нужно указать полный путь к файлу или сначала перейти в нужную папку. Например, если скрипт находится в /home/user/scripts/, его можно запустить командой python3 /home/user/scripts/скрипт.py. Альтернатива — добавить директорию в переменную окружения PATH, чтобы запускать скрипт из любого места.

Как передавать аргументы в Python-скрипт через терминал?

Аргументы передаются после имени скрипта, разделяя их пробелами. Внутри Python их можно получить через модуль sys: import sys, затем sys.argv возвращает список, где sys.argv[0] — имя скрипта, а sys.argv[1], sys.argv[2] и т.д. — переданные аргументы. Например, команда python3 test.py file.txt 10 позволит скрипту обработать file.txt и число 10 в коде.

Ссылка на основную публикацию