Как запустить программу на python: 7 способов запустить Python файл или скрипт на WIndows, Linuxm, MacOS

Запускаем программу на Питоне без Питона

Думаю всем известно что Python интерпретируем язык. Это значит, что написанная программа не компилируется, а исполняется другой программой — интерпретатором. Еще его называют скриповым языком. Написали скрипт, а Питон его исполняет.

Но что нам мешает, скомпилировать интерпретатор и код программы в один .exe файл и радоваться жизни. Именно так и поступили умные ребят и сделали утилиту PyInstaller .

Установка и компиляция.

Ставица это чудо легко, это же ведь опять программа на Python )))

pip install pyinstaller

Все что нужно нам теперь, это запустить его из командной строки.

Обратите внимание, pyinstaller будет находиться в папке со всеми утилитами Питона.

C:\Users\ROOT\AppData\Local\Programs\Python\Python36\Scripts
pyinstaller --onedir --onefile --name=testfile "D:\Test Python\1234.py"
  • -onedir : Создайте пакет из одной папки, содержащий исполняемый файл (по умолчанию).
  • -onefile : Создайте исполняемый файл с одним файлом в комплекте.
  • -name=testfile : Имя .exe файла.
  • -noconsole : Не предоставляют окно консоли для стандартного ввода-вывода.

Утилита находиться в папочке с Питонов.

В папке dist  вы найдете приложение, которое вы можете запускать на любом компьютере.

Вот так все просто и легко. Конечно это базовые сценарий , на сайте есть документация к утилите. Где все возможности описаны более подробно. Вы можете создать файл и под UNIX и под Mac OC. Успехов.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Осваиваем Python. Унция ноль. Введение. / Хабр

Предыстория

Присоединяюсь к MaxElc, DarwinTenk и Devgru 🙂 Начинаю цикл статей посвященных Python. Сам я имею некоторый опыт обращения с PHP и Java. Но каждый раз, при относительном освоении какого-то инструмента — оставалось определённое неудовлетворение им, связанное с чем-то конкретным, и поиски продолжались. На сегодняшний день наиболее близко к идеалу в моих глазах стоит Python. Идеал недостижим — это понятно, посему и у Python есть недостатки. Прежде всего — это скорость выполнения, однако, эта проблема решаема несколькими путями и об этом мы обязательно поговорим чуть позднее.

Сам я начал осваивать Python буквально недавно. Начиная этот цикл статей — я преследую несколько целей. Во-первых, это дополнительная само мотивация + интерактивность, во-вторых, опыт. В-третьих, блуждая по просторам рунета — вижу, что Python куда менее популярен, чем в мире. Ситуацию надо исправлять 🙂
В соответствии с идеологией Python, а именно с тем, что одни из главных его козырей — это быстрота в освоении и скорость разработки, мы достаточно быстро, практически тезисно пронесёмся по основам синтаксиса и построения программ и перейдём к основной цели данного цикла — освоение django.
Итак, мы начинаем.

Архитектура

Python — интерпретируемый, скриптовый язык программирования. При первом запуске скрипта, интерпретатор транслирует инструкции языка в байт-код, сохраняя их в файле с расширением .pyc. Далее байт-код запускается на виртуальной машине Python (PVM). При вторичном запуске скрипта, интерпретатор отслеживает были ли внесены изменения в нём. Если нет, то запускается сразу .pyc файл.
Реализации Python:

  • CPython — стандартная реализация Python
  • Jython — альтернативная реализация Python. Основная цель которой — бесшовная интеграция с платформой Java. Состоит из java-классов, которые транслируют программный код на языке Python в java байт-код, который затем запускается на виртуальной машине Java (JVM).
  • IronPython — реализация Python предназначенная для интеграции с .NET платформой.
  • Shedskin C++ — нетрадиционный подход к выполнению программ на языке Python. Цель — оптимизация скорости выполнения. Преобразует исходный код Python в исходный код C++, который затем может быть скомпилирован в машинный код.
  • PyPy — реализация PVM на самом языке Python + JIT компилятор.
Варианты запуска программ

На хабре уже была написана хорошая инструкция для новичков, как быстро организовать рабочую среду для разработки на Python и django. Если вы уже проделали описанную в ней последовательность действий, то это означает, что на вашей машине уже установлен интерпретатор python. В большинстве Linux дистрибутивов он установлен по-умолчанию.

Вариант 1. Интерактивный режим

Для попадания в интерактивный режим необходимо ввести в командной строке команду python.

$ python
Python 2.5.2 (r252:60911, Oct 5 2008, 19:24:49)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'Hello World!'
Hello World!

В интерактивном режиме инструкции выполняются построчно. Для того, чтобы выполнить блок кода, можно, к примеру, набрать в пустом текстовом файле следующие две команды:

str1 = 'Hello World!'
str2 = " It's my second script"
print 'import has been done successfully'

И сохранить их в файле hi.py. Далее в командной строчке используя команду cd перейти в тот каталог, в котором вы сохранили файл и набрать команду python.
Для импорта инструкций можно использовать инструкцию import <имя файла без расширения .py>. Файлы в языке Python являются модулями, которые внутри себя содержат пространство имён. Импортируя модуль мы получаем доступ к пространству имён верхнего уровня.

$ python
Python 2.5.2 (r252:60911, Oct 5 2008, 19:24:49)
[GCC 4.3.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import hi
import has been done successfully
>>> print hi.str1+hi.str2
Hello World! It's my second script

Используя в инструкции конструкцию вида: hi.str1, мы обращаемся к имени str1, определённом внутри модуля hi.
Строки, числа в языке Python — это тоже объекты. Здесь прослеживается наследование парадигмы берущей начало от языка SmallTalk «Всё — объекты». Однако, если мне не изменяет память там речь шла и о том, что операторы — тоже были объектами. В python оператор «+» — это перегруженный оператор для строк выполняющий конкатенацию.
Для импортирования конкретных имён можно использовать инструкцию from:

>>> from hi import str1
>>> print str1
Hello World!

После чего мы сможем обращаться к импортируемому имени непосредственно.
После внесения каких-то изменений в файл, для того чтобы изменения вступили в силу — необходимо перезагрузить модуль с помощью функции reload().

>>> reload(hi)
<module 'hi' from 'hi.pyc'>

Для получения списка всех доступных имён модуля можно использовать функцию dir():

>>> dir(hi)
['__builtins__', '__doc__', '__file__', '__name__', 'str1', 'str2']

Вариант 2. Запуск из командной строки.

Запустить сценарий из командной строки можно следующим образом:

$ python hi.py

Так же сценарию можно передавать параметры командной строки. Доступ к ним из сценария можно получить, импортировав встроенный модуль sys. Изменим файл hi.py следующим образом:

import sys
print sys.argv

После чего вызовем его из команжной строки, передав несколько произвольных параметров:

$ python hi.py 1 2 3 'param-pam-pam'
['hi.py', '1', '2', '3', 'param-pam-pam']

В результате получим список, содержащий в себе переданные параметры. Список — это тоже конструкция языка Python. О списках речь пойдёт в следующих статьях.
Потоки ввода и вывода сценария можно перенаправлять с помощью средств командной оболочки, например так:

$ python hi.py 1 2 3 'param-pam-pam' > text.txt

Вариант 3. IDE.

Интерактивный режим удобен в некоторых случаях, например, когда нужно поэкспериментировать с какой-то определённой инструкцией. Однако, постоянно работать в нём неудобно т.к. Нужно постоянно вспоминать про перезагрузку модулей.

Поэтому гораздо удобнее воспользоваться описанной выше процедурой настройки IDE и запускать программы из неё. Так же при разработке программ на Python вполне приемлем вариант написания кода в блокноте с подсветкой синтаксиса и запуском программы из консоли.

На сегодня всё. В следующих статьях мы перейдём непосредственно к изучению конструкций языка. Не сомневаюсь, отклики будут и я буду на них ориентироваться.
Спасибо за внимание!

Как запускать программы на Python в IDLE

IDLE — интегрированная среда разработки и обучения которая устанавливается вместе с интерпретатором Python. Несмотря на то, что IDLE не очень подходит для написания больших программ, он является отличной средой именно для обучения языку Python. В нем есть подсветка синтаксиса, а этого как правило вполне достаточно для написания своих первых программ.

Писать программы можно как в интерактивном режиме (REPL), так и в отдельных файлах, сохраняя их на диск и запуская при помощи меню Run > Run module или клавишей F5.

Писать код в интерактивном режиме можно, но это подходит только для случаев когда ваш код состоит из нескольких строк. Например, вы хотите написать простой цикл на Python. Для этого введите в строку следующее:

for i in range(10):

После того как вы нажмете Enter, курсор перейдет на новую строку и сместится на 4 пробела вправо. Теперь вы можете писать код который будет выполняться при каждой итерации цикла, например:

print(i)

чтобы выйти из блока и получить результат выполнения цикла, дважды нажмите Enter:

Думаю, теперь вам понятно, почему писать программы в интерактивном режиме не очень удобно. Он больше подходит для обучения и проверки какого то кода, нежели чем для написания полноценных сценариев.

Для более объемного кода вам нужно создать файл в меню IDLE: File > New file. После этого сохраните файл на жесткий диск и можно начинать писать программу.

После того как набрали нужный код — сохраните файл и нажмите клавишу F5 или выберите пункт меню Run > Run module. Ваш файл запустится в окне IDLE.

Это все, что нужно знать про IDLE для того чтобы начать писать программы на Python. Конечно, он предоставляет больше возможностей, таких как поиск или отладка, но я не вижу смысла описывать все это здесь. Программировать на Python вы скорее всего будете в более продвинутых редакторах кода или IDE. О лучших из них вы можете почитать в нашей статье «Лучшие бесплатные IDE и редакторы кода для Python».

Web-разработка • Python и Flask

Программа на Python может запускать другие программы с помощью функции

Popen() (от process open) встроенного модуля subprocess. В качестве аргумента функция принимает имя программы, которую нужно запустить:

>>> import subprocess
>>> subprocess.Popen('C:\\Windows\\System32\\calc.exe')
<subprocess.Popen object at 0x0000020B18386438>

Возвращаемое значение представляет собой объект Popen, имеющий два полезных метода: poll() и wait().

Метод poll() возвращает значение None, если в момент его вызова процесс все еще выполняется. Если же процесс к этому моменту завершен, то он возвращает код завершения процесса. Код заверешения служит индикатором того, завершился ли процесс без ошибок (код равен нулю) или же его завершение было вызвано ошибкой (ненулевой код).

Метод wait() ожидает завершения запущенного процесса, прежде чем продолжить выполнение основной программы. Возвращаемым значением метода является целочисленный код завершения процесса.

>>> notepad = subprocess.Popen('C:\\Windows\\System32\\notepad.exe')
>>> notepad.poll() == None
True
>>> notepad.poll() == None
False
>>> notepad.wait()
0
>>> notepad.poll()
0

Сначала мы открываем процесс блокнота, затем проверяем, возвращает ли метод poll() значение None. Это означает, что процесс все еще выполняется. После этого закрываем блокнот и еще раз проверяем, возвращает ли метод poll() значение None. Теперь оба метода, wait() и poll() возвращают нулевое значение, что указывает на завершение программы notepad.exe без ошибок.

Передача аргументов командной строки

Процессам, создаваемым с помощью функции Popen(), можно передвать аргументы командной строки. Для этого функции Popen() надо передать список в качестве единственного аргумента. Первой строкой в этом списке должно быть имя исполняемого файла программы, которую надо запустить. Все последующие строки — это аргументы командной строки, которые будут переданы программе при запуске.

>>> subprocess.Popen(['C:\\Windows\\System32\\notepad.exe', 'C:\\example\\readme.txt'])
<subprocess.Popen object at 0x0000020B18386630>

Здесь мы не только запускаем приложение notepad.exe, но и открываем файл readme.txt.

Открытие файлов программ по умолчанию

Двойной клик на иконке файла с расширением .txt позволяет автоматически запустить приложение, ассоциированное с этим расширением. Функция Popen() также может открывать файлы подобным образом:

>>> subprocess.Popen(('start', 'C:\\example\\readme.txt'), shell = True)
<subprocess.Popen object at 0x0000020B183EDE10>

В каждой операционной системе есть программа, выполняющая те же функции, что и двойной клик на иконке файла. В Windows это программа start, в Ubuntu Linux — программа see.

Именованный аргумент shell = True нужен только для ОС Windows.

# Таймер обратного отсчета

import time, subprocess

wait = 10
while wait > 0:
    print(wait, end='')
    time.sleep(1)
    wait = wait - 1

# Воспроизведение звукового файла по завершении обратного отсчета
subprocess.Popen(['start', 'C:\\example\alarm.wav'], shell = True)

Поиск: Python • Web-разработка • Модуль • Процесс

Как запустить скрипт Python?

В этом руководстве рассказывается о том, как запустить скрипт Python.

Обработку данных на основе Python можно разбить на маленькие этапы. Например:

  1. Импорт numpy и pandas.
  2. Загрузка необработанных данных из .csv файла в DataFrame.
  3. Загрузка необработанных данных из словаря Python в другой DataFrame.
  4. Объединение двух фреймов данных.
  5. Сортировка значений.
  6. Заполнение пустых значений.
  7. И так далее…

Можно выполнить эти задачи вручную. Или поместить эти команды в скрипт Python. Это и есть скриптинг.

Скрипт Python похож на сценарий фильма. В нем вы точно записываете, должен делать компьютер.

Вы можете использовать любой код, написанный ранее в Jupyter. Например, вот мой Jupyter Notebook.

Для этого нужно скопировать все строки из Jupyter Notebook и поместить их в текстовый редактор. После чего сохранить в файл с расширением .py.

Если вы находитесь на удаленном сервере, откройте свой любимый текстовый редактор. Для этого введите команду:

Вы можете использовать любой текстовый редактор (vim, nano и т. д.).
Но если вы хотите что-то более продвинутое, я настоятельно рекомендую Sublime Text 3.

Скопируйте и вставьте весь код из Jupyter Notebook в текстовый редактор:

Нажмите кнопку 10-Quit в правом нижнем углу (или Esc+0 на клавиатуре).

После чего mcedit спросит, хотите ли вы сохранить файл? Нажмите: Yes! Затем задайте имя новому текстовому файлу. Скрипты Python имеют собственное расширение: .py.

Нажмите ОК. Теперь текстовый файл теперь стал скриптом Python.

Вернемся к редактированию файла, набрав команду:

Теперь код выглядит более похожим на Python с различной подсветкой:

Это потому, что вы добавили расширение .py. В результате этого редактор mcedit распознал текстовый файл как скрипт Python.

Shebang — это строка кода, которую нужно поместить в самом начале скрипта. Его задача – сообщить ОС, что у вас есть исполняемый файл Python3.

Строка shebang для скриптов Python3 выглядит следующим образом:

#! / usr / bin / env python3

Добавленный Shebang

Если честно, ваш скрипт будет работать и без него. Несмотря на это, я предпочитаю добавлять Shebang по нескольким причинам:

  • В среде разработки, в которой доступно сразу несколько версий Python, Shebang прояснит, какой интерпретатор должен выполнить скрипт.
  • Когда один из ваших коллег откроет скрипт, он сразу увидит, на каком языке он написан.

После добавления Shebang, снова сохраните файл и попробуйте запустить скрипт, введя команду:

В некоторых случаях (в зависимости от конфигурации используемого сервера) вы получите ошибку прав доступа:

demoscript.py: Permission denied

В Python подобная ошибка прав доступа не возникает. Если вы не столкнулись с этой проблемой, просто перейдите к шагу № 7.

Если у вас возникла ошибка прав доступа, в командной строке введите этот код:

sudo chmod 777 demoscript.py

Затем введите свой пароль.

Запустите скрипт, введя команду:

Это означает, что ваш скрипт на Python запущен… Но вы не видите никакого результата на экране.

В большинстве случаев, когда вы конвертируете проект Jupyter Notebook в скрипт Python, вы не увидите на экране ничего. Это потому, что последняя строка вашего кода была такой:

Вернитесь к своему скрипту и измените последнюю строку на эту:

Нажмите 10-Quit и Save.

Перезапустите скрипт, введя для этого команду:

Победа!

Вы создали скрипт на Python, и он работает. Но вы все равно захотите использовать Jupyter Notebook. Так как он является идеальным инструментом для тестирования и настройки процессов. Поэтому:

  1. Я создаю прототип проекта на Python в Jupyter Notebook. Затем создаю код и выясняю, какие шаги необходимы.
  2. Затем удаляю ненужные фрагменты кода и импортированные пакеты, сортирую задачи Python в порядке их выполнения.
  3. Добавляю комментарии к коду.
  4. Перемещаю все в текстовый редактор (Sublime Text или mcedit) и создаю скрипт Python, который можно автоматизировать.

Написание и запуск скриптов Python это не магия. Если вы знаете, как писать код на Python, то сможете освоить и скрипты

Данная публикация представляет собой перевод статьи «How to Run a Python Script (Step by Step Tutorial, with Example)» , подготовленной дружной командой проекта Интернет-технологии.ру

телеграм канал. Подпишись, будет полезно!

Запуск внешней программы (исполняемого файла) в Python?

Я только начал работать с Python, и я пытаюсь запустить внешний исполняемый файл из Python.

у меня есть исполняемый файл для программы, написанной на Фортране. Допустим, имя исполняемого файла-flow.исполняемый. И мой исполняемый файл находится в C:\Documents and Settings\flow_model. Я попробовал обе ОС.команды system и popen, но пока я не мог заставить его работать. Следующий код, похоже, открывает командное окно, но он не будет выполнять модель.

# Import system modules
import sys, string, os, arcgisscripting
os.system("C:/Documents and Settings/flow_model/flow.exe")

Как я могу исправить это?

66

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Theme: Overlay by Kaira Extra Text
Cape Town, South Africa