Как сделать исполняемый файл python linux

Добавил пользователь Morpheus
Обновлено: 04.10.2024

Код, написанный на Python, позволяет решать много прикладных задач: автоматизация отчетности, алгоритмы поиска, анализа и пр. Однако не у всех потенциальных пользователей может быть установлен сам Python и тем более не все являются экспертами в программировании. Выручить может программа, которая будет отрабатывать написанный вами код без установки библиотек Python и необходимой оболочки. Одним из таких решений может быть компиляция кода Python а файл exe. Дальше простым языком мы постараемся объяснить, как его скомпилировать и какие есть нюансы.

Для начала Вам необходимо скачать компилятор pyinstaller, для чего вам понадобится команда:

Далее ваш код в формате. py необходимо разместить в системную папку Scripts.

Путь к этой папке обычно выглядит так:

Если Вы инсталлировали Python в другое место, соответственно ищите папку там.

Далее приступаем собственно к компиляции, для чего: выделяем путь к папке Scripts в окне браузера, вместо него набираем команду cmd и жмем Enter.

У Вас сразу будет указан верный путь к файлу:

В продолжение строки с директорией файла необходимо набрать команду: pyinstaller Report.py —onefile

Где Report.py – это имя вашего файла, — onefile – означает, что программа будет скомпилирована в единый файл.

Нажимаем Enter. Pyinstaller приступает к сборке программы.

Готовый файл находим в папке dist.

Данный метод компиляции не оптимизирует включение только необходимых библиотек, поэтому нужно быть готовым к тому, что его размер будет занимать достаточно объема. В нашем случае код из 120 строк с библиотекой Pandas и Datetime собран в программу весом почти 220 Mb. Теперь данным файлом может пользоваться любой сотрудник.

Хотелось бы обратить внимание на следующие нюансы: если вы компилируете файл на 64 битной OS Windows 10, то он не запустится на 32 битной OS Windows 7.

Если же файл будет скомпилирован на 32 битной OS Windows 7, то его можно будет запустить как на 32 битных, так и на 64 битных OS Windows 7/10.

Доброе время суток всем прогерам. Мне нужна помощь. Ситуация такая. Недавно начал изучать python. Если быть точнее, я сижу на Linux Mint 18 с установленными Python 2.7.12 и Python 3.5.2. Узнал такую тему, что файлы .py можно переиначивать в .exe (исполняемые файлы executable). Для этого установил себе pyinstaller. всё получается кроме одного. Вместо того, чтобы у меня получился файл блаблабла.exe у меня получается тупо файл без названия расширения, который никак не запустить. Наверное это файл ELF. Но как мне сделать настоящий EXEшник, работающий на винде?

Я использовал команду pyinstaller -F -w /путь к/файлу.py
В программе подключается tkinter


Как скомпилировать python 3.3.3 в exe? Как забустить cx-Freeze что бы получить exe?
Здравствуйте, всем. Помогите, пожалуйста: Как скомпилировать python 3.3.3 в exe? Как забустить.

Как скомпилировать с Python Kivy, в один exe?
Что только не пробывал, через PyInstaller не пошло, через cz_freeze тоже. Одна и та же проблема -.


Как скомпилировать несколько файлов Python в один exe?
Здравствуйте, я написал калькулятор, но как скампилировать main и ui в один exe не знаю помогите.

Сборка приложения Python в .EXE через PyInstaller 3.4 и запуск в Windows XP
День добрый! На машине Windows 10 x64 устанавливаю: - pycharm-community-2018.3.6 x32 -.

Каждый разработчик на Python должен знать, как запускать скрипты, потому что это единственный способ проверить работоспособность написанного кода. Чтобы запустить скрипт, программист может использовать:

  • Командную строку (терминал).
  • Интерактивный режим Python.
  • Текстовый редактор или полноценную IDE.
  • Менеджер файлов операционной системы (запуск через графический интерфейс).

Каждый способ имеет свои особенности, поэтому его выбор зависит не только от предпочтений или привычек, но и от того, в какой степени программист хочет контролировать параметры запуска скрипта.

Не нужно путать скрипты и модули, хотя различия между ними не велики. Скрипты — это файлы с исполняемым кодом, а модули — файлы, код которых импортируется в скрипты, проще говоря, библиотеки.

Интерпретатор и его установка

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

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

Установить интерпретатор на Windows не сложно, достаточно найти Python в Microsoft Store и установить.

Если же у вас старая версия Windows и предыдущий вариант не работает, то надо зайти на официальный сайт Python, скачать и запустить установочный файл и следовать инструкциям по установке. Не забудьте при установке выставить галку, чтобы Python был добавлен в Windows PATH.

В Linux обычно ничего устанавливать не требуется, так как Pyton включают в его дистрибутив.

Интерактивный запуск кода Python

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

Чтобы войти в интерактивный режим в Windows, можно использовать один из нескольких способов:

Для выхода из интерактивного режима используются комбинации клавиш: + и после этого нажмите . Или можно просто прописать в командной строке quit() или exit().

Работать в интерактивном режиме в IDLE можно не только в Windows, но и в Linux, однако в этом нет смысла, потому что терминал Linux достаточно удобен и предоставляет все необходимые инструменты, в отличии от командной строки Windows.

Примеры работы в интерактивном сеансе

Интерактивный сеанс является необходимым и важным инструментом. С его помощью программист может быстро проверить код, в работе которого он не уверен.

Код исполняется сразу после ввода, однако это не значит, что в терминале можно использовать только однострочные операции, например:

Обратите внимание, что для вывода результата выражения в терминал в интерактивном сеансе не нужно использовать функцию print().

В командной строке также можно писать функции, циклы, условия. Кроме того, в интерактивном сеансе можно импортировать модули.

Командная строка автоматически определяет, когда нужно написать многострочную инструкцию, например, если программист хочет объявить функцию, он пишет:

Следующая команда вызывает только что созданную функцию:

Индикаторы ввода остались на этой же строке, потому что мы установили разделитесь функции print с помощью аргумента end = " " .

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

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

Запишем его в файл world.py. Запустить его через командную строку можно несколькими способами.

В последних версиях Windows можно запустить скрипт Python просто введя его имя:

Такой запуск возможен благодаря тому, что Windows автоматически определяет, какую программу (в данном случае интерпретатор Python) использовать для запуска файла.

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

После этого нужно разрешить запуск файла (сделать его исполняемым).

Запуск модуля

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

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

Перенаправление вывода

Теперь запустим. Полная команда выглядит так:

Здесь output.txt – это текстовый файл, в который записывается результат выполнения скрипта.

Операция может использоваться как в операционной системе Windows, так и в Unix-подобных системах. Если файла, в который должен вывестись результат, не существует, система создаст его автоматически.

Например, у нас уже есть файл output.txt со строкой приветствия (после того как мы его создали предыдущей командой). Теперь допишем в него ещё одну строку:

Таким образом можно последовательно запустить несколько раз этот скрипт и в файл будут дописываться всё новые строки приветствия.

Использование IDLE

IDLE – это официальная интегрированная среда разработки, поставляемая вместе с интерпретатором Python.

Она позволяет работать в интерактивном режиме, писать и запускать скрипты. Кроме того, IDLE поддерживает подсветку синтаксиса и отладку.

Работа в интерактивном режиме не отличается от того, что было описано для командной строки Windows и терминала Linux. Программист пишет код, который сразу исполняется интерпретатором.

Запуск скрипта


Запуск скрипта из интерактивного режима

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

import

При импорте модуля в скрипт выполняется весь содержащийся в нём код. Если модуль содержит только объявления функций и классов и присвоение значений, программист ничего не увидит. Но если модуль выводит что-то на экран, работает с файлами, то это отобразится при импорте.

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


Здесь импортировал библиотеку sys для того чтобы в пути прописать полный путь до моего модуля. Видно, что приветствие отображается только после первой попытки импорта моего модуля.

Оператор exec() сначала читает содержимое модуля, затем отправляет его в функцию, которая выполняет код.

Синтаксис выглядит так:

Запуск скриптов из текстового редактора или IDE

Если программист работает над крупным проектом, ему не достаточно стандартной IDLE и блокнота. В этом случае используется либо текстовый редактор, либо полноценная среда разработки IDE.

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

Запуск скриптов через менеджер файлов

Этот способ можно использовать не только в Windows, но и Unix-подобных системах. Однако после запуска окно консоли будет сразу закрываться. Чтобы решить эту проблему, в конце скрипта добавляется оператор input(), таким образом консоль не закроется, пока не получит ввод от пользователя.

Ещё одной проблемой является невозможность обнаружения и отладки ошибок. Даже если программист добавил оператор input(), при возникновении ошибки в процессе выполнения скрипта консоль закроется.

Это самый ненадёжный способ, который накладывает на программиста много ограничений. Лучше отказаться от идеи пользоваться файловым менеджером во время отладки скриптов и вернуться к стандартным способам запуска через командную строку.

Одним из самых популярных языков программирования является Python. Его часто используют программисты для написания различных системных скриптов для Linux. Например, если в Windows не хватает системных возможностей, то используется программа PoweShell. В Linux на такой случай предусмотрен именно язык Python. Особенность Python в том, что на нем написано огромное количество системных программ, в частности менеджер apt, видеоредактор OpenShot, а также множество скриптов, которые вы можете установить с помощью утилиты. Дальше рассмотрим, как запустить Python скрипт в Linux с помощью терминала различными способами.

Запускаем скрипт Python в Linux

В качестве примера испольуем Python скрипт. Но не будем брать уже существующий, а создаим новым - собственный:

Чтобы запустить скрипт необходимо передать его интерпретатору Python. Для этого просто откройте терминал с помощью сочетания клавиш Ctrl + Alt + T, перейдите в папку со скриптом и выполните:


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


Как видим, при запуске apt или openshot не надо писать слово python. Это намного удобнее. Давайте разберемся как это реализовать. Если вы не хотите указывать интерпретатор в командной строке, его надо указать в самом скрипте. Для этого в скрипт добавим строчку:


Сохраните изменения, а затем сделайте файл скрипта исполняемым с помощью такой команды:

После этого можно запустить скрипт Python просто обращаясь к его файлу:


Если убрать расширение .py и переместить скрипт в каталог, который находится в переменной PATH, например /usr/bin/, то его можно будет выполнять вот так:

Запуск команды python Linux выполняется довольно просто и для этого даже есть несколько способов. Можете пользоваться любым из них.

Читайте также: