Создание exe файла из файла python для работы на компьютере, где нет Python
В ходе работы использую python 3.8, библиотеку pyodbc, драйвер ODBC Driver 17 for SQL Server.
На отдельном компьютере нет возможности установить ни драйвер, ни питон. как создать exe-файл, в который будет запакованы и драйвер и dll питона.
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
Чтение файла exe на другом компьютере, где нет Visual
У меня Vusial Studio 2008 (rus). Я написал программу. Она работает, все хорошо. Но если только.
Преобразование python файла в exe
Возникает ошибка: pyinstaller не является внутренней или внешней командой, исполняемой программой.
Написание .bat файла для запуска .py файла в интерпретаторе Python
В общем проблема в том, что я использую Anaconda и в отличии от IDLE там нельзя просто так.
При превращении Python файла в Exe в файле оказываются вирусы
Что я делаю: 1) Пишу невероятно вредоносную программу следующего содержания.
Создание XML-файла в Python
Добрый день! У меня возник вопрос по поводу корректной записи данных в XML-файл. Запись делаю.
![]()
5416 / 3840 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
Сообщение от manager812 
как создать exe-файл,
pyinstaller + spec файл (читай доки pyinstaller, а не видосы с youtube). Только вероятность, что получится все упаковать — небольшая. Python сложен для упаковки в exe. Проще код переписать на компилируемый язык.
Или освоить передачу скрипта в виде пакета + emdedded Python. Но как это делать описывать не буду. Захочешь — нагуглишь.
Регистрация: 18.06.2020
Сообщений: 15
если относительно библиотек все относительно понятно. то точно ли оно позволит упаковать драйвер?
![]()
5416 / 3840 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
Сообщение от manager812 
то точно ли оно позволит упаковать драйвер?
Нет — не точно. Я же все написал — никаких гарантий, что все заработает, просто нет.
130 / 116 / 29
Регистрация: 09.07.2019
Сообщений: 1,067
Записей в блоге: 4
Garry Galler, pyinstaller не работает с 3.8. Лучше использовать cxFreeze.
![]()
5416 / 3840 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
Сообщение от Hyppoprogramm 
Лучше использовать cxFreeze.
Лучше ничего из этого вообще не использовать.
Добавлено через 37 секунд
Сообщение от Hyppoprogramm 
pyinstaller не работает с 3.8.
Вообще-то работает. Но не тот, который в репе на pypi.
Регистрация: 11.10.2019
Сообщений: 276
Не используйте библиотеку pyodbc иначе придется ставить драйвер на другие компа в которые переносите ехе файлы. Вместо него берите psycopg2 или вообще обычную кутешную встроенную QtSqlDatabase. И будет вас счастье. Сам долго мучался.
Я в данный момент использую python 3.4, для бд модуль встроенный QtSql,сама база postgres, а для сборки Pyinstaller. Будут еще наверняка проблемы после сборки в ехе. Вякните и напишу если знакома мне проблема.
![]()
5416 / 3840 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
Сообщение от Сергей225 
Будут еще наверняка проблемы после сборки в ехе.
А что вам помешало вообще не использовать эту сборку?
Ведь это абсолютно ненужное действие, если уметь программировать на Python и знать про Embedded Python и пакеты распространения.
Регистрация: 11.10.2019
Сообщений: 276
Garry Galler, Не использовал Embedded. И что она делает? Устанавливает нужные компоненты и установку питона на другом компе? То это тоже ненужное действие если он устанавливает питон на другом компе и разные модули. Я поначалу так и хотел наподобие этого типа инсталлятора сделать,но отказался от этой идеи. Лучше собрал в ехе и куда хочешь ставь то на 32 разрядную и на 64 разрядную и на разные оси,правда не пробовал еще на линукс и мак переносить.
Ну пока все ок работает и жалоб от юзеров нет.
Самое главное собирать его надо на 32х разрядной, чтобы запустилось и на 64х.
![]()
5416 / 3840 / 1214
Регистрация: 28.10.2013
Сообщений: 9,554
Записей в блоге: 1
Сообщение от Сергей225 
Устанавливает нужные компоненты и установку питона на другом компе?
Нет. Это просто портабельная сборка Python, в которую можно легко установить нужные модули и затем передать этот каталог клиенту. И никаких танцев с бубном.
Сообщение от Сергей225 
То это тоже ненужное действие если он устанавливает питон на другом компе и разные модули. Лучше собрал в ехе и куда хочешь
В этом ехе внутри упакован Python интерпретатор и все библиотеки. Ты реально не в курсе?
И все это при запуске распаковывается в каталог TEMP.
Как сделать exe файл из Python

Для создания exe-файла из Python-скрипта можно использовать специальные инструменты, такие как PyInstaller или cx_Freeze.
PyInstaller — это автономный пакет, который создает исполняемые файлы для Python-приложений. Чтобы установить PyInstaller, откройте терминал и выполните команду:
pip install pyinstaller
Затем перейдите в папку, содержащую ваш скрипт, и выполните команду:
pyinstaller script_name.py
Где script_name.py — это имя вашего Python-скрипта. PyInstaller создаст папку dist, в которой будет находиться исполняемый файл вашего приложения.
Cx_Freeze — это другой инструмент, который можно использовать для создания exe-файлов из Python-скриптов. Чтобы установить cx_Freeze, выполните команду:
pip install cx_Freeze
Затем создайте файл setup.py со следующим содержимым:
from cx_Freeze import setup, Executable setup(name='ScriptName', version='0.1', description='Description of script', executables=[Executable('script_name.py')])
Где ScriptName — это имя вашего приложения, 0.1 — версия, а Description of script — описание приложения. Затем выполните команду:
python setup.py build
Cx_Freeze создаст папку build, в которой будет находиться папка exe.win-amd64 (если вы используете 64-разрядную версию Python) или exe.win32 (если вы используете 32-разрядную версию Python), в которой будет находиться исполняемый файл вашего приложения.
Обратите внимание, что создание exe-файла из Python-скрипта может зависеть от библиотек, которые вы используете в своем приложении. Поэтому необходимо убедиться, что все необходимые библиотеки установлены и доступны в вашей среде выполнения Python.
Использование PyInstaller для простого распространения приложений Python
Для чего используется PyInstaller?
PyInstaller читает написанный вами скрипт Python. Он анализирует ваш код, чтобы обнаружить все остальные модули и библиотеки, необходимые вашему сценарию для выполнения. Затем он собирает копии всех этих файлов, включая активный интерпретатор Python!
Зачем использовать Pyinstaller для пакета Python?
PyInstaller используется для упаковки кода Python в автономные исполняемые приложения для различных операционных систем. Он берет сценарий Python и генерирует один исполняемый файл, который содержит все необходимые зависимости и может быть запущен на компьютерах, на которых не установлен Python. Это позволяет легко распространять и развертывать приложения Python, поскольку пользователю не нужно устанавливать Python и любые необходимые модули в своей системе для запуска приложения. Кроме того, PyInstaller также можно использовать для создания однофайловых исполняемых файлов, которые представляют собой отдельные исполняемые файлы, содержащие все необходимые зависимости для приложения. Это может еще больше упростить распространение приложения, поскольку пользователю нужно загрузить только один файл.
Как установить PyInstaller
PyInstaller доступен как обычный пакет Python. Исходные архивы выпущенных версий доступны по адресуПиПи , но проще установить последнюю версию с помощьюточка:
C:\> pip install pyinstaller
Чтобы обновить существующую установку PyInstaller до последней версии, используйте:
C:\> pip install --upgrade pyinstaller
Чтобы установить текущую версию разработки, используйте:
C:\> pip install https://github.com/pyinstaller/pyinstaller/tarball/
Как создать EXE с помощью PyInstaller
Мы возьмем один файл Python в качестве примера, чтобы подробно объяснить шаги упаковки. Возьмем Python 3.11.0 в качестве примера после установки.aspose.cells.
-
Создайте файл примера Python с именемпример.py.
import os from jpype import * __cells_jar_dir__ = os.path.dirname(__file__) addClassPath(os.path.join(__cells_jar_dir__, "aspose-cells-23.1.jar")) addClassPath(os.path.join(__cells_jar_dir__, "bcprov-jdk15on-160.jar")) addClassPath(os.path.join(__cells_jar_dir__, "bcpkix-jdk15on-1.60.jar")) addClassPath(os.path.join(__cells_jar_dir__, "JavaClassBridge.jar")) import jpype import asposecells jpype.startJVM() from asposecells.api import Workbook, FileFormatType, CellsHelper print(CellsHelper.getVersion()) workbook = Workbook(FileFormatType.XLSX) workbook.getWorksheets().get(0).getCells().get("A1").putValue("Hello World") workbook.save("output.xlsx") jpype.shutdownJVM()
C:\app> pyinstaller example.py

C:\app> pyinstaller example.spec
Как создать exe python
![]()
Войти
Нет аккаунта? Зарегистрироваться
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
uzverss
открыть, глянуть
1. скачать и установить свежую версию Python тут, не забыть добавить Python в переменные среды
https://www.python.org/downloads/
2. установить py2exe
в командной строке переходим в папку с установленным питоном
cd C:\Python34
и устанавливаем py2exe
pip install py2exe
3. создать файл setup.py с таким содержимым
from distutils.core import setup
import py2exe
setup(console=[‘myscript.py’], zipfile=None) # myscript.py — скрипт из которого будет exe
4. собираем экзешник
setup.py py2exe -b 0
5. экзешник находится в каталоге dist
C:\Python34\dist
6. проверяем как работает
cd C:\Python34\dist
myscript.exe
cython —embed my_script.py -o my_script.c
gcc -g -O2 -o my_script.exe my_script.c `python-config —includes —ldflags`
pyinstaller -D -F -n=ExeFileName -w PythonModule.py
Аргументы:
-D собрать в одну директорию
-F собрать в один файл
-n= имя выходного исполняемого файла
-w оконный режим
