Для работы с Python в Linux терминале требуется базовое понимание командной строки и нескольких ключевых команд. После установки Python, который обычно присутствует в большинстве дистрибутивов по умолчанию, становится возможным запускать скрипты непосредственно через терминал. Важным моментом является настройка исполнимых прав на файл и правильная настройка окружения, чтобы избежать ошибок при выполнении кода.
Шаг 1: Чтобы начать, откройте терминал и перейдите в директорию, где находится ваш Python-скрипт. Для этого используйте команду cd /путь/к/папке
. Проверьте наличие Python на системе с помощью команды python --version
или python3 --version
, в зависимости от версии, установленной в вашей системе.
Шаг 2: Если скрипт не имеет прав на выполнение, необходимо установить их. Используйте команду chmod +x имя_скрипта.py
, чтобы предоставить файл прав на исполнение. Это важный шаг, иначе Linux может не распознать скрипт как исполнимый файл.
Шаг 3: Для запуска скрипта из терминала достаточно выполнить команду ./имя_скрипта.py
, если вы находитесь в той же директории, где находится файл. В случае, если скрипт требует определённого интерпретатора, можно указать его напрямую в командной строке: python имя_скрипта.py
или python3 имя_скрипта.py
.
Шаг 4: Если необходимо установить зависимости, используйте pip
, например: pip install -r requirements.txt
, чтобы скачать все необходимые пакеты, прописанные в файле зависимостей.
Запуск скриптов через терминал не ограничивается только базовыми примерами. В реальной работе часто используется виртуальное окружение для изоляции зависимостей, что предотвращает конфликты версий библиотек. Для этого применяются команды python3 -m venv имя_окружения
для создания нового виртуального окружения, а затем активировать его командой source имя_окружения/bin/activate
.
Как проверить, установлен ли Python в вашей системе
Чтобы узнать, установлен ли Python в системе Linux, используйте терминал. Следующие шаги помогут вам это проверить.
1. Откройте терминал и введите одну из следующих команд:
python --version
илиpython -V
python3 --version
илиpython3 -V
Если Python установлен, терминал выведет версию установленного интерпретатора, например:
Python 3.8.10
2. Если вы получите сообщение вроде command not found
, это означает, что Python не установлен или не добавлен в переменную PATH.
3. В случае отсутствия Python, для установки можно использовать менеджер пакетов вашего дистрибутива:
- Для Ubuntu/Debian:
sudo apt install python3
- Для Fedora:
sudo dnf install python3
- Для Arch:
sudo pacman -S python
4. Важно помнить, что в некоторых дистрибутивах Python 2 и Python 3 могут быть установлены одновременно. Чтобы точно проверить наличие Python 3, используйте команду python3 --version
.
Как сделать Python-скрипт исполнимым через терминал
Чтобы Python-скрипт можно было запускать напрямую из терминала, необходимо выполнить несколько шагов. Эти действия позволят избежать необходимости вручную прописывать команду для вызова интерпретатора Python.
Для этого нужно настроить скрипт и его права на исполнение. Рассмотрим пошаговую инструкцию:
- Добавить шебанг в начале скрипта
- Установить права на исполнение
- Убедиться в правильности пути
- Проверить работоспособность
Первым делом нужно указать интерпретатор, который будет использоваться для выполнения скрипта. Для этого в самом начале Python-скрипта добавляют строку:
#!/usr/bin/env python3
Эта строка указывает, что для выполнения скрипта необходимо использовать Python 3. Шебанг («#!») сообщает системе, какой интерпретатор использовать для выполнения файла.
После добавления шебанга нужно предоставить файлу права на исполнение. Для этого в терминале используем команду:
chmod +x имя_скрипта.py
Эта команда позволит запускать скрипт как исполнимый файл без необходимости указывать Python в командной строке.
Если скрипт находится в текущем каталоге, можно выполнить его с помощью:
./имя_скрипта.py
Если скрипт лежит в другом каталоге, убедитесь, что он доступен по полному пути или добавьте директорию скрипта в переменную среды PATH
, чтобы запускать его из любой точки системы.
После выполнения вышеописанных шагов убедитесь, что скрипт можно запустить прямо из терминала, вызвав его по имени. Если все сделано правильно, команда выполнится, и скрипт начнёт работать.
Эти шаги позволяют сделать Python-скрипт удобным для выполнения без необходимости вручную указывать интерпретатор, что ускоряет и упрощает работу с программами.
Как запустить скрипт Python с помощью команды python или python3
Убедитесь, что скрипт имеет расширение .py
и путь к нему указан корректно. Например, для запуска файла script.py
, находящегося в текущем каталоге, используйте команду:
python3 script.py
Если путь содержит подкаталоги, укажите его полностью, например:
python3 ~/projects/test/script.py
Если скрипт не запускается из-за отсутствия прав, добавьте права на выполнение с помощью команды chmod +x script.py
, но это необходимо только при запуске скрипта напрямую как исполняемого файла, например ./script.py
.
Если на системе установлены одновременно Python 2 и Python 3, не используйте python
без уточнения версии, чтобы избежать запуска устаревшего интерпретатора. В таких случаях используйте исключительно python3
.
Для запуска с аргументами указывайте их после имени скрипта. Пример:
python3 script.py input.txt output.txt
Если команда python3
не найдена, установите интерпретатор с помощью пакетного менеджера, например:
sudo apt install python3
– для Debian/Ubuntu
sudo dnf install python3
– для Fedora
sudo pacman -S python
– для Arch Linux
Что делать, если скрипт не запускается из-за проблем с правами доступа
Для начала проверь текущие права доступа с помощью команды:
ls -l script.py
Если файл не имеет права на выполнение (в строке прав отсутствует символ x
), необходимо установить его вручную:
chmod +x script.py
После этого скрипт можно запускать напрямую:
./script.py
Если при этом всё ещё возникает ошибка, проверьте, указана ли в первой строке скрипта корректная shebang-директива, например:
#!/usr/bin/env python3
Отсутствие этой строки или неправильный путь к интерпретатору также может вызывать проблемы с запуском.
В случае, если скрипт находится в каталоге, на который у пользователя нет прав исполнения, необходимо либо сменить расположение файла, либо изменить права доступа к каталогу:
chmod +x /путь/к/каталогу
Для выполнения скрипта другим пользователем или от имени root, используйте команду sudo
:
sudo ./script.py
Если права доступа изменены, но скрипт всё ещё не запускается, проверьте монтирование файловой системы: каталоги, смонтированные с опцией noexec
, не позволяют запускать исполняемые файлы. Узнать параметры можно командой:
mount | grep каталог
Если указан параметр noexec
, запустить скрипт можно через явный вызов интерпретатора:
python3 script.py
Как использовать виртуальные окружения для запуска Python-скриптов
Виртуальное окружение позволяет изолировать зависимости проекта от системного Python. Это предотвращает конфликты между пакетами и упрощает управление версиями библиотек.
Создайте окружение с помощью встроенного модуля venv:
python3 -m venv venv
После создания активируйте окружение:
source venv/bin/activate
Во время активации оболочка будет использовать интерпретатор и зависимости, установленные только в этом окружении. Убедитесь, что pip работает из локального окружения:
which pip
Ожидаемый результат должен содержать путь внутри директории venv.
Установите зависимости, указанные в requirements.txt:
pip install -r requirements.txt
Запустите скрипт внутри активированного окружения:
python script.py
Для выхода из окружения выполните:
deactivate
Изолированное окружение исключает случайное использование глобальных пакетов и обеспечивает воспроизводимость. Рекомендуется создавать отдельное окружение для каждого проекта.
Решение проблем с зависимостями и версиями библиотек при запуске скриптов
Наиболее надёжный способ изоляции зависимостей – использование виртуальных окружений. Создайте окружение с помощью команды python3 -m venv venv
, затем активируйте его: source venv/bin/activate
. Все установленные библиотеки окажутся в пределах этого окружения, не затрагивая системные пакеты.
Если скрипт требует конкретных версий библиотек, создайте файл requirements.txt командой pip freeze > requirements.txt
. Для установки зависимостей выполните pip install -r requirements.txt
. Это особенно важно при переносе скриптов между машинами.
При возникновении конфликтов между версиями пакетов используйте pipdeptree для анализа зависимостей: pip install pipdeptree
и pipdeptree
. Это позволяет выявить несовместимые зависимости и принять решение: обновить, зафиксировать нужную версию или использовать альтернативную библиотеку.
Для управления несколькими версиями Python одновременно применяйте pyenv. Установите его через GitHub, затем используйте pyenv install 3.10.9
и pyenv local 3.10.9
, чтобы задать версию для текущего каталога. Это исключает ошибки, вызванные несовместимостью кода с версией интерпретатора.
Избегайте глобальной установки нестабильных пакетов. При необходимости протестировать нестандартную библиотеку, создайте отдельное окружение. Не используйте sudo pip install
– это может повредить системные библиотеки. Вместо этого установите библиотеку внутри виртуального окружения или с помощью pipx, если требуется изоляция при глобальном доступе к исполняемому файлу.
Вопрос-ответ:
Как запустить Python-скрипт, если у меня несколько версий Python установлено?
Если на системе установлены, например, Python 2.7 и Python 3.10, то для запуска скрипта с нужной версией языка можно указать конкретный интерпретатор. Например, `python3 my_script.py` или `python3.10 my_script.py`. Чтобы проверить доступные версии, выполните команду `ls /usr/bin/python*` или `which python3.10`. Также можно явно указать путь к нужному интерпретатору в первой строке скрипта, используя шебанг: `#!/usr/bin/python3.10`.
Нужно ли делать Python-скрипт исполняемым, чтобы запускать его через терминал?
Если вы хотите запускать скрипт напрямую, например `./my_script.py`, а не через команду `python my_script.py`, то да — нужно установить права на исполнение. Это делается командой `chmod +x my_script.py`. Также в начале файла должен быть указан путь к интерпретатору, например `#!/usr/bin/env python3`, чтобы система знала, чем его обрабатывать.
Почему при запуске скрипта пишет «Permission denied»?
Такая ошибка чаще всего возникает, если у файла нет прав на исполнение. Проверьте их с помощью команды `ls -l my_script.py`. Если в списке прав нет `x` (например, права выглядят как `-rw-r—r—`), добавьте их: `chmod +x my_script.py`. Также убедитесь, что текущий пользователь имеет доступ к каталогу, где находится скрипт.
Можно ли запускать Python-скрипты без указания расширения `.py`?
Да, это возможно. Если в скрипте указан шебанг с указанием нужного интерпретатора и у файла есть права на исполнение, его можно запускать как обычную команду. Однако для этого желательно переименовать файл без расширения и поместить его в каталог, указанный в переменной PATH, или запускать его с относительным или абсолютным путем. Например: `./myscript`.
Как передавать аргументы в Python-скрипт через терминал?
Аргументы можно передавать прямо в командной строке после имени скрипта, например: `python script.py arg1 arg2`. Внутри скрипта они доступны через модуль `sys`, а именно список `sys.argv`. Первый элемент (`sys.argv[0]`) — это имя самого скрипта, последующие элементы — переданные параметры. Чтобы использовать их более удобно, часто применяют модуль `argparse`, который позволяет задавать имена, типы и описания параметров.