Урок 6. Как запускать Python программы
В прошлом уроке мы запустили свою первую программу на Python, она вывела фразу «Hello, World!». И эту программу мы запустили с помощью PyCharm.
Однако это не единственный способ выполнять Python-скрипты. Рассмотрим еще несколько вариантов.
И первый — это запуск программ из командной строки. Введем в строке поиска введем cmd и кликнем по найденной программе. Появилось черное окно — это командная строка. Мы уже запускали её ранее, когда проверяли установлен ли Python.
И командная строка — это такое место, где вы можете вводить разные команды, а также названия программ и они будут выполнятся. Программистам часто приходится иметь дело с командными строками, терминалами и другими похожими оболочками.
Чтобы в командной строке запустить Python-программу нужно сперва перейти в каталог, где эта программа расположена.
По умолчанию после открытия терминала мы находимся в домашней папке активного Windows-пользователя. И так как все наши проекты хранятся в каталоге PycharmProjects, то нужно ввести:
cd PycharmProjects
cd — это команда для смены текущего каталога. Сокращение от Change dir. Нажмем Enter. И мы в каталоге с проектами. Теперь перейдем непосредственно в наш проект. Снова ведем команду cd после которой укажем имя проекта (sepython):
cd sepyhton
Нажму Enter. Командная строка вывела, что системе не удается найти указанный путь. Если вы видите такую же надпись, то причин может быть две:
Первая — это опечатка в имени файла или каталога. Это самая распространенная ошибка, внимательно проверьте то, что набрали.
Вторая причина может заключаться в том, что в данном каталоге просто нет папки SEPython. Возможно вы создали её в другом месте.
Чтобы проверить какие файлы или каталоги есть в текущей директории, надо набрать команду dir.
Чтобы минимизировать опечатки, можно пойти на небольшую хитрость и не вводить имя каталога вручную, а воспользоваться автоподстановкой командной строки.
Для этого надо снова ввести команду cd, за ней пробел, а после написать se и нажать клавишу Tab. Командная строка сама дополнит имя каталога до правильного. После чего нужно снова нажать Enter и нас сразу переместит в каталог с проектом.
Если мы еще раз выполним комунд dir, то увидим каталоги Lessons и Tasks, а также файл main.py.
Что ж, нам надо запустить нашу программу hello_world.py, а она находится в папке Lessons. Перейдем в неё:
cd Lessons
Теперь надо запустить hello_world.py и для этого надо сперва написать python, а затем через пробел имя программы hello_world.py:
python hello_world.py
Обратите внимание, что я набираю имя программы, ровно так как его записал в прошлом уроке. Все символы строчные, между словами стоит подчеркивание, а не пробел.
Что ж, нажму Enter! Программа вывела фразу «Hello, world! Отлично, у нас всё получилось.
Теперь давайте рассмотрим несколько распространенных ошибок, которые у вас могут возникнуть на данном этапе. Первая — это снова опечатка. Если поменять два последних символа местами и снова попробовать запустить программу, то мы увидим ошибку, что файл hello_world.yp не найден в текущем каталоге. Когда вы видите такую ошибку, то это повод проверить имя файла, а также его реальное присутствие в данной директории.
В целом с hello_world мы закончили, и осовная проблема данной прогарммы в том, что она всегда будет выводить фразу, которую мы задали внутри программы, а это делает код абсолютно бесполезным. Другое дело hello_user.py, которую я добавил самостоятельно (у вас этой программы пока нет).
Сейчас я покажу как она работает, а в следующем уроке покажу и объясню её исходный код. То есть то, что находится внутри скрипта.
Итак давайте введем:
python hello_user.py
Программа вывела что-то непонятное. На самом деле она завершилась с ошибкой. Дело в том, что скрипт hello_user.py нужно запускать с передачей аргументов или другими словами с передачей дополнительных параметров.
Это значит, что нужно писать python hello_user.py плюс еще какой-то текст, например такой:
python hello_user.py Nikita
В этом случае слово Nikita — это аргумент командной строки, который при запуске будет отправлен в программу hello_user.py.
То есть сейчас в строке три элемента: сам python, имя программы hello_user.py и аргумент командной строки Niktia.
Python запустит программу hello_user.py и передаст в неё слово Nikita. Программа в свою очередь примет это слово и что-то с ним сделает. Давайте посмотрим, что именно, нажмем Enter..
Скрипт отработал без ошибок и поздоровался с нами: «Hello Nikita. Отлично.
Если при запуске передать другой параметр, например Nikita заменить Alena, то скрипт поздоровается с Аленой:
python hello_user.py Alena
То есть теперь программа не просто работает, а она уже умеет каким-то элементарным способом обрабатывать входящие данные и выводить различные результаты в зависимости от этих данных.
В этом курсе, при решении задач, вам часто придется писать подобные программы, которые умеют принимать и обрабатывать входящие данные. И как это правильно сделать мы разберем в следующем уроке.
Следующий урок
Урок 7. Запуск программ с одним аргументом
В этом уроке вы узнаете как писать python-программы, которые принимают аргументы командой строки, а также о том, как из запускать.
Посмотреть
Полный курс с практикой
- 146 уроков
- 303 задания
- Сертификат
- Поддержка преподавателя
- Доступ к курсу навсегда
- Можно в рассрочку
Преобразование Python скрипта в standalone исполняемый файл
В процессе разработки приложения на языке Python часто возникает необходимость сделать скрипт самодостаточным и исполняемым. Это позволяет запускать приложение на компьютерах, где не установлен Python или требуемые модули.
К примеру, было создано небольшое приложение для автоматического скачивания и обновления данных с интернет-ресурса. Для работы приложения используются модули requests и beautifulsoup4. Но на целевой машине, где планируется использовать приложение, нет Python и этих модулей. Для решения этой проблемы можно преобразовать Python скрипт в standalone исполняемый файл.
Для решения этой задачи существуют различные инструменты. Один из самых популярных — это pyinstaller.
PyInstaller анализирует ваш скрипт, находит все зависимости (модули), и упаковывает их вместе со скриптом в один исполняемый файл. Этот файл можно запустить на любом компьютере, даже если на нем не установлен Python.
Установка PyInstaller
Установка PyInstaller происходит через pip, который является стандартным пакетным менеджером для Python.
pip install pyinstaller
Использование PyInstaller
Для преобразования скрипта в исполняемый файл используется команда pyinstaller с различными параметрами. В самом простом случае достаточно указать имя скрипта:
pyinstaller myscript.py
После выполнения этой команды в директории проекта появится новая директория dist, в которой будет находиться исполняемый файл.
Если нужно сделать один исполняемый файл, а не директорию с набором файлов, можно использовать опцию —onefile:
pyinstaller --onefile myscript.py
Также есть возможность скрыть консоль при выполнении скрипта с помощью опции —windowed:
pyinstaller --windowed myscript.py
В результате получается исполняемый файл, который можно запустить на любом компьютере без установки Python и необходимых модулей.
Как запустить пайтон файл без консоли?
Пишу небольшую прогу и столкнулся с проблемой запуска отдельного python файла без консольной оболочки. Необходимо что бы файл просто запустился без консольной оболочки, выполнил заложенный в него код и закрылся. Слышал что данную проблему возможно решить при помощи ShellExecute() но каким образом это возможно сделать точно я не знаю. P.S. про метод с изменением расширения с .py на .pyw я в курсе однако он мне не совсем подходит.
Отслеживать
задан 25 янв 2022 в 14:04
5 1 1 серебряный знак 6 6 бронзовых знаков
«не совсем» — это как? Вообще, запускается не файл, а интерпретатор с путем к файлу, переданным через параметр. Под windows можно запускать с помощью pythonw.exe вместо python.exe, тогда консоль не будет открываться (с помощью pythonw.exe запускаются файлы с расширением pyw).
25 янв 2022 в 14:08
Огромное спасибо. Хотелось бы еще спросить возможно ли запустить без консоли python файл перекомпилированый с помощью pyinstaller в .exe формат
Как сделать так, чтобы программа запускалась без питона?
Есть игра, на pygame. Я запускаю её через программу python 3.8.1. Но вот для примера на пк стоит pubg у меня. Чтобы его запустить не скачивался же c++. Ну и мне надо сделать так, чтобы прога работала без приложения питон
- Вопрос задан более трёх лет назад
- 5274 просмотра
1 комментарий
Простой 1 комментарий
BananiumPower @BananiumPower
дай угадаю учишь python смотря видео Дударя?)
Решения вопроса 2

C#/.NET Developer
Привет.
Тебе нужно pyinstaller для этого. Как я понимаю тебе же нужен обычный exe файл в итоге для запуска на OS Windows?
Краткая инструкция https://hwschool.online/ru/docs/python/exe
Для наглядности вот видео на ютубе.
https://www.youtube.com/watch?v=CgCJwDjm_Cw
Ответ написан более трёх лет назад
Нравится 1 4 комментария
Max @maximsemin23 Автор вопроса
Спасибо, бро. А можно ещё вопрос? Можно изменить значок программы? Не использовать ярлык и изменить картинку ярлыка, так я умею, а именно значок файла изменить?
Maxim Siomin, pip install -F -w -i»C:\Python\icon.ico» названиескрипта.py
Иконки вы можете найти здесь www.iconarchive.com
mrisid, . только думаю не pip install, а pyinstaller.
shurshur, Ох,извиняюсь.
Заработался и написал не то, pyinstaller -F -w -i»C:\Python\icon.ico» названиескрипта.py
В консоли прописывайте — pip install pyinstaller
переходите в директорию с вашим не скомпилированным скриптом,
к примеру — cd C:\Python\test\
Дальше прописываете pyinstaller -F -w имявашегоскрипта.py
после компиляции в папке dist появится exe вашей программы.
А при запуске консоль не будет вылазить.
Надеюсь я вам помог.
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 1

Тимур Покровский @Makaroshka007
Ну да, c++ компилируемый яп, а питон — интерпретируемый. Чтобы скомпилировать питоновский файл, нужно воспользоваться какой-нибудь прогой, например pyinstaller
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- Python
- +2 ещё
TypeError: event_list() missing 1 required positional argument: ‘call_data» aiogram при использовании CallbackFactory?
- 1 подписчик
- 2 часа назад
- 4 просмотра
