Как открыть исполняемый файл Python

Обновлено: 21.11.2024

В этом руководстве по Python мы шаг за шагом увидим, как преобразовать файл Python в exe с помощью Pyinstaller. Если вы хотите преобразовать файл python в exe, эта статья будет вам очень полезна.

Преобразовать файл python в exe с помощью pyinstaller

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

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

Поэтому мы решили предоставить им установочный файл программы, которую можно установить в системе. В этом руководстве мы поговорим о преобразовании файла python в exe-файл, а затем о создании установки, которую можно установить.

Преобразовать файл Python в exe-файл Windows

Pyinstaller – это модуль Python, с помощью которого файл Python (.py) можно преобразовать в исполняемый файл (.exe).

  • Установите pyinstaller непосредственно в среде по умолчанию, используя приведенную ниже команду.
  • В случае виртуальной среды снова установите pyinstaller в этой виртуальной среде с помощью той же команды.
  • Это может показаться немного запутанным, но важно установить pyinstaller как в базовой, так и в виртуальной среде.
  • Мы предполагаем, что вы подготовили папку приложения, как было предложено в нашем блоге — Создайте файл Word с помощью Python tkinter.
  • Следуйте приведенной ниже команде, чтобы преобразовать python (.py) в исполняемый файл (.exe) на python.
  • После завершения файлового процесса вы увидите созданные новые папки. Перейдите в папку dist -> папка проекта -> щелкните файл приложения (.exe).
  • Сначала приложение может работать не так, как ожидалось, вставьте все зависимости, такие как изображения, текстовые файлы и т. д., в папку проекта.
  • Запустите программу, и вы увидите, что она работает как отдельное приложение. Даже системы без Python смогут выполнить эту программу.
  • Если вы не можете следовать приведенным инструкциям, следуйте приведенным ниже инструкциям с изображениями.

Следуйте инструкциям по созданию исполняемого файла из файла python (.py) [подробно]

На изображении ниже показаны файлы приложения для создания письма об опыте. Чтобы узнать, как мы создали это приложение, посетите наш блог — Создание файла Word с помощью Python Tkinter.

Активируйте виртуальную среду и установите в ней pyinstaller. Обязательно установить pyinstaller в универсальной среде и виртуальной среде. В противном случае ваши приложения не смогут получить доступ к модулям, установленным в виртуальной среде.

С помощью pyinstaller вы можете преобразовать файл python в exe. Введите pyinstaller

, это преобразует файл .py в .exe с помощью console. Добавьте ключевое слово –no-console после pyinstaller, чтобы преобразовать файл python в исполняемый файл без командной строки.

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

В папке dist есть еще одна папка с именем этого py-файла. Предположим, что на момент преобразования имя файла python было main.py, тогда имя этой папки будет основным.

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

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

Создайте устанавливаемый пакет с помощью инструмента NSIS

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

  • Загрузите программное обеспечение по указанной выше ссылке и запустите его.
  • Преобразуйте папку, которую мы подготовили в предыдущем разделе, в ZIP-файл.
  • В инструменте NSIS нажмите Установщик на основе ZIP-файла, в появившемся окне выберите ZIP-файл со своего компьютера и нажмите кнопку "Создать" в левом нижнем углу.
  • Подождите некоторое время и после завершения закройте программу, перейдите в папку, в которой вы увидите файл в форме диска.
  • Ваш файл готов, вы можете поделиться им с другими.
  • Если эта сводка шагов не помогла вам, ниже мы подробно объяснили каждый шаг с изображениями.

python создает установочный файл [шаг за шагом]

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

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

Откройте программное обеспечение NSIS, нажмите «Установщик на основе файла .ZIP» -> В приглашении выберите zip-файл, нажав кнопку «Открыть», и после выбора zip-файла нажмите кнопку «Создать». Мы отметили последовательность каждого шага.

После нажатия кнопки «Создать» потребуется некоторое время для создания устанавливаемого установочного файла. После завершения вы увидите окно, как показано ниже. Закройте окно, нажав кнопку закрытия.

Поздравляем с успешным преобразованием файла Python (.py) в исполняемый файл (.exe). И упаковка исполняемого файла в устанавливаемый установочный файл. На изображении ниже отмеченное изображение показывает установочный файл. Вы можете установить этот файл в своей системе.

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

Связанные руководства по Python:

Мы надеемся, что это руководство помогло вам преобразовать файл python в exe. Вот как преобразовать файл Python в exe с помощью Pyinstaller. Если вы столкнулись с какими-либо проблемами, напишите нам точное сообщение об ошибке.

Инженер по машинному обучению с 4-летним опытом работы в сфере ИТ. Я работал в нескольких доменах, и моя единственная цель — упростить технологию. В настоящее время работаю с Tsinfo Technologies в качестве разработчика Python, а по профессии я программист, блоггер и YouTube-блогер, стремящийся сделать этот мир лучше.

Мы ежедневно создаем множество программ Python и хотим поделиться ими со всем миром. Дело не в том, что вы делитесь этой программой Python со всеми, и они будут запускать этот скрипт в какой-то оболочке IDLE. Но вы хотите, чтобы все запускали ваш скрипт Python без установки Python. Поэтому для этой работы вы можете преобразовать файл .py в файл .exe. В этой статье вы узнаете, как преобразовать файл .py в файл .exe. Выполните следующие шаги для того же.

Шаг 1.
Установите библиотеку pyinstaller.
Введите следующую команду в командной строке.

Шаг 2.
Перейдите в каталог, где находится ваш файл .py.

Шаг 3:
Нажмите кнопку Shift⇧ и одновременно щелкните правой кнопкой мыши в том же месте. Вы получите коробку ниже.

Шаг 4.
Нажмите «Открыть окно PowerShell здесь».

Появится окно, показанное ниже.

Шаг 5:
Введите приведенную ниже команду в этом окне PowerShell.

Здесь имя файла «.py» — «1».
См. ниже:

Если в этот момент в окне PowerShell вы получите сообщение об ошибке, подобное этому:

Исправление при вводе вышеуказанной команды:

Шаг 6:
После ввода команды «Нажмите Enter».
Для завершения процесса потребуется некоторое время, в зависимости от размера файла и размера вашего проекта.
После завершения обработки окно будет выглядеть следующим образом:

Шаг 7:
Посмотрите каталог, он должен выглядеть так:

папка build и 1.spec бесполезны. Вы можете удалить их, если хотите, это не повлияет на ваш файл «.exe».

Шаг 8.
Откройте папку dist выше. Здесь вы получите файл «.exe».

Как запустить программу Python под Windows?¶

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

Если вы не используете какую-либо интегрированную среду разработки, в конечном итоге вам придется вводить команды Windows в так называемом «окне DOS» или «окне командной строки». Обычно такое окно можно создать из панели поиска, выполнив поиск cmd. Вы должны быть в состоянии распознать, когда вы открыли такое окно, потому что вы увидите «командную строку» Windows, которая обычно выглядит следующим образом:

Буква может быть другой, и после нее могут быть другие элементы, поэтому вы можете легко увидеть что-то вроде:

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

Вы должны понимать, что ваши скрипты Python должны обрабатываться другой программой, называемой интерпретатором Python. Интерпретатор читает ваш сценарий, компилирует его в байт-коды, а затем выполняет байт-коды для запуска вашей программы. Итак, как организовать интерпретатор для обработки вашего Python?

Во-первых, вам нужно убедиться, что ваше командное окно распознает слово «py» как инструкцию для запуска интерпретатора. Если вы открыли командное окно, попробуйте ввести команду py и нажать клавишу возврата:

Вы должны увидеть что-то вроде:

Вы запустили интерпретатор в «интерактивном режиме». Это означает, что вы можете вводить операторы или выражения Python в интерактивном режиме и выполнять или оценивать их, пока ждете. Это одна из самых сильных сторон Python. Проверьте это, введя несколько выражений по вашему выбору и увидев результаты:

Многие люди используют интерактивный режим как удобный калькулятор с широкими возможностями программирования. Если вы хотите завершить интерактивный сеанс Python, вызовите функцию exit() или, удерживая нажатой клавишу Ctrl, введите Z , а затем нажмите клавишу «Ввод», чтобы вернуться в командную строку Windows.

Вы также можете обнаружить, что у вас есть запись в меню «Пуск», например «Пуск» ‣ «Программы» ‣ Python 3.x ‣ Python (командная строка), в результате чего вы видите подсказку >>> в новом окне. Если да, то окно исчезнет после вызова функции exit() или ввода символа Ctrl-Z; Windows запускает в окне единственную команду «python» и закрывает ее, когда вы завершаете работу интерпретатора.

Теперь, когда мы знаем, что команда py распознана, вы можете передать ей свой скрипт Python. Вам нужно будет указать абсолютный или относительный путь к скрипту Python. Допустим, ваш скрипт Python находится на вашем рабочем столе и называется hello.py , а ваша командная строка открыта в вашем домашнем каталоге, поэтому вы видите что-то похожее на:

Теперь вы попросите команду py передать ваш скрипт Python, набрав py и путь к вашему скрипту:

Как сделать скрипты Python исполняемыми?¶

В Windows стандартный установщик Python уже связывает расширение .py с типом файла (Python.File) и дает этому типу файла команду открытия, запускающую интерпретатор ( D:\Program Files\Python\python.exe " %1" %* ). Этого достаточно, чтобы скрипты выполнялись из командной строки как «foo.py». Если вы предпочитаете выполнять скрипт, просто набрав «foo» без расширения, вам нужно добавить .py в переменную среды PATHEXT.

Почему Python иногда так долго запускается?¶

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

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

Как создать исполняемый файл из скрипта Python?¶

См. раздел Как создать автономный двоичный файл из скрипта Python? список инструментов, которые можно использовать для создания исполняемых файлов.

Является ли файл *.pyd таким же, как DLL?¶

Да, файлы .pyd — это библиотеки DLL, но есть несколько отличий. Если у вас есть DLL с именем foo.pyd, она должна иметь функцию PyInit_foo(). Затем вы можете написать Python «import foo», и Python будет искать foo.pyd (а также foo.py, foo.pyc) и, если найдет, попытается вызвать PyInit_foo() для его инициализации. Вы не связываете свой .exe с foo.lib, так как это приведет к тому, что Windows потребует наличия библиотеки DLL.

Обратите внимание, что путь поиска foo.pyd — это PYTHONPATH, а не тот же путь, который Windows использует для поиска foo.dll. Кроме того, foo.pyd не требуется для запуска вашей программы, тогда как если вы связали свою программу с dll, dll требуется. Конечно, foo.pyd требуется, если вы хотите сказать import foo . В DLL связь объявляется в исходном коде с помощью __declspec(dllexport) . В .pyd связь определяется в списке доступных функций.

Как встроить Python в приложение Windows?¶

Встраивание интерпретатора Python в приложение для Windows можно описать следующим образом:

Не встраивайте Python напрямую в свой .exe-файл. В Windows Python должен быть DLL для импорта модулей, которые сами являются DLL. (Это первый ключевой недокументированный факт.) Вместо этого дайте ссылку на python NN .dll ; обычно он устанавливается в C:\Windows\System . NN — это версия Python, число, например «33» для Python 3.3.

Связаться с Python можно двумя способами. Связывание во время загрузки означает связывание с python NN .lib , а связывание во время выполнения означает связывание с python NN .dll . (Общее примечание: python NN .lib — это так называемая «импортная библиотека», соответствующая python NN .dll. Она просто определяет символы для компоновщика.)

Связывание во время выполнения значительно упрощает варианты связывания; все происходит во время выполнения. Ваш код должен загрузить python NN .dll с помощью подпрограммы Windows LoadLibraryEx(). В коде также должны использоваться подпрограммы доступа и данные в python NN .dll (то есть Python C API) с использованием указателей, полученных подпрограммой Windows GetProcAddress(). Макросы могут сделать использование этих указателей прозрачным для любого кода C, который вызывает подпрограммы в C API Python.

Примечание Borland: сначала конвертируйте python NN .lib в формат OMF, используя Coff2Omf.exe.

Если вы используете SWIG, легко создать «модуль расширения» Python, который сделает данные и методы приложения доступными для Python. SWIG позаботится обо всех мелких деталях за вас. В результате получается код C, который вы связываете в с вашим .exe-файлом (!) Вам _не_ нужно создавать DLL-файл, и это также упрощает компоновку.

SWIG создаст функцию инициализации (функция C), имя которой зависит от имени модуля расширения. Например, если имя модуля — leo, функция инициализации будет называться initleo(). Если вы используете теневые классы SWIG, то функция инициализации будет называться initleoc(). Это инициализирует в основном скрытый вспомогательный класс, используемый теневым классом.

Причина, по которой вы можете связать код C на шаге 2 с файлом .exe, заключается в том, что вызов функции инициализации эквивалентен импорту модуля в Python! (Это второй ключевой недокументированный факт.)

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

Есть две проблемы с Python C API, которые станут очевидными, если вы используете компилятор, отличный от MSVC, компилятор, используемый для сборки pythonNN.dll.

Проблема 1. Так называемые функции «очень высокого уровня», которые принимают аргументы FILE *, не будут работать в среде с несколькими компиляторами, поскольку представление структуры FILE в каждом компиляторе будет разным. С точки зрения реализации это функции очень _низкого_ уровня.

Проблема 2: SWIG создает следующий код при создании оболочек для пустых функций:

Увы, Py_None — это макрос, который заменяется ссылкой на сложную структуру данных с именем _Py_NoneStruct внутри pythonNN.dll. Опять же, этот код не будет работать в среде с несколькими компиляторами. Замените такой код на:

Возможно, можно использовать команду SWIG %typemap для автоматического внесения изменений, хотя мне не удалось заставить ее работать (я полный новичок в SWIG).

Использование сценария оболочки Python для создания окна интерпретатора Python из вашего приложения для Windows не является хорошей идеей; результирующее окно не будет зависеть от оконной системы вашего приложения. Скорее вы (или класс wxPythonWindow) должны создать «родное» окно интерпретатора. Это окно легко подключить к интерпретатору Python. Вы можете перенаправить ввод-вывод Python на _любой_ объект, который поддерживает чтение и запись, поэтому все, что вам нужно, — это объект Python (определенный в вашем модуле расширения), который содержит методы read() и write().

Как запретить редакторам вставлять вкладки в исходный код Python?¶

Часто задаваемые вопросы не рекомендуют использовать вкладки, а руководство по стилю Python, PEP 8, рекомендует использовать 4 пробела для распространяемого кода Python; это также режим Python по умолчанию для Emacs.

В любом редакторе смешивать табуляции и пробелы — плохая идея. MSVC ничем не отличается в этом отношении и легко настраивается для использования пробелов: выберите Инструменты ‣ Параметры ‣ Вкладки, а для типа файла «По умолчанию» установите «Размер табуляции» и «Размер отступа» на 4 и выберите «Вставить пробелы». переключатель.

Python вызывает IndentationError или TabError, если смешанные табуляции и пробелы вызывают проблемы с начальными пробелами. Вы также можете запустить модуль tabnanny для проверки дерева каталогов в пакетном режиме.

Как проверить нажатие клавиши без блокировки?¶

Используйте модуль msvcrt. Это стандартный модуль расширения для Windows. Он определяет функцию kbhit(), которая проверяет наличие нажатия на клавиатуру, и функцию getch(), которая получает один символ, не повторяя его.

Хотите создать исполняемый файл из скрипта Python с помощью pyinstaller?

Если да, я покажу вам все шаги для достижения этой цели в Windows.

Шаги по созданию исполняемого файла из скрипта Python с помощью Pyinstaller

Шаг 1. Добавьте Python в путь Windows

Простым способом добавить Python в путь является загрузка последней версии Python и установка флажка «Добавить Python в PATH» в начале установки:

Шаг 2. Откройте командную строку Windows

Затем откройте командную строку Windows:

Шаг 3. Установите пакет Pyinstaller

В командной строке Windows введите следующую команду, чтобы установить пакет pyinstaller (и нажмите Enter):

Шаг 4. Сохраните скрипт Python

Теперь вам нужно сохранить скрипт Python в нужном месте.

Для иллюстрации я создал простой скрипт Python, который будет отображать «Hello World!» при нажатии кнопки:

Затем я сохранил скрипт Python в следующей папке:

C:\Users\Ron\Desktop\MyPython

Где я назвал скрипт Python как «привет»

Шаг 5. Создайте исполняемый файл с помощью Pyinstaller

Теперь вы сможете создать исполняемый файл из скрипта Python с помощью pyinstaller.

Просто откройте командную строку и введите:

cd, за которым следует место, где хранится ваш скрипт Python

В моем случае я набрал в командной строке следующее:

Вот как выглядела моя команда (не забудьте нажать Enter после того, как вы набрали место, где хранится скрипт Python на вашем компьютере):

Далее используйте следующий шаблон для создания исполняемого файла:

Поскольку в нашем примере pythonScriptName — это «hello», команда для создания исполняемого файла:

В командной строке:

После завершения нажмите Enter в последний раз.

Шаг 6. Запустите исполняемый файл

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

В моем случае я вернулся к тому месту, где изначально хранил сценарий «hello» (C:\Users\Ron\Desktop\MyPython). В этом месте было создано несколько дополнительных файлов. Чтобы найти исполняемый файл, откройте папку dist:

Теперь вы увидите исполняемый файл:

После того, как вы нажмете файл, вы сможете запустить свою программу (если вы получите сообщение об ошибке, вам может потребоваться установить распространяемый пакет Visual C++).

В нашем примере, когда вы нажмете на исполняемый файл «hello», вы увидите следующий экран с одной кнопкой:

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