Как создать exe-файл из файла Python, содержащего модуль sys?

Я сделал программу на Python, которая состоит из модуля sys. Я хочу преобразовать это в exe-файл с помощью cx_Freeze. Поэтому я использовал следующий код в setup.py:

import sys
from cx_Freeze import setup, Executable

base = None
if sys.platform == "win32":
    base = "Win32GUI"

options = {"build_exe": {"includes": "atexit"}}

executables = [Executable("myfilename.py", base=base)]

setup(
    name="simple_PyQt5",
    version="0.1",
    description="Sample cx_Freeze PyQt5 script",
    options=options,
    executables=executables,
)

Когда я запускаю команду: python3 setup.py build, внутри нее создается сборка папки, внутри нее есть папка с именем exe.win-amd64-3.9, в ней есть папка с именем lib, myfilename.exe, python3.dll и python39. .dll в exe.win-amd64 ... Когда я запускаю myfilename.exe, он открывается и закрывается, тогда как у меня есть input (), он спрашивает меня об этом. так что не могли бы вы помочь мне, как я могу использовать модуль sys в файле, который я хочу преобразовать в exe, используя cx_Freeze


person Athu R    schedule 14.05.2021    source источник
comment
Отвечает ли это на ваш вопрос? cx_Freeze не печатает на консоли   -  person jpeg    schedule 21.05.2021


Ответы (1)


** Используйте cx_Freeze **

Сначала проверьте, установлена ​​ли библиотека погоды cx_Freeze. Если она не установлена ​​с помощью pip install cx_Freeze, в противном случае обновите библиотеку с помощью

*pip install cx_Freeze --upgrade*

Импортировать кодовую зависимость в код

Создайте файл кода с пометкой Code.py

from datetime import datetime
import sys

print("Hello from cx_Freeze")
print(f"The current date is {datetime.today():%B %d, %Y %H:%M:%S}\n")

print(f"Executable: {sys.executable}")
print(f"Prefix: {sys.prefix}")
print(f"Default encoding: {sys.getdefaultencoding()}")
print(f"File system encoding: {sys.getfilesystemencoding()}\n")

print("ARGUMENTS:")
for a in sys.argv:
    print(f"{a}")
print()

print("PATH:")
for p in sys.path:
    print(f"{p}")
print()

** Создайте файл запуска с пометкой run.py **

from cx_Freeze import setup, Executable

executables = [Executable("hello.py")]

setup(
    name="hello",
    version="0.1",
    description="Sample cx_Freeze script",
    executables=executables,
)

Обновите код по своему усмотрению.

person Athul A    schedule 14.05.2021
comment
Спасибо, Athul A, но это не работает. открытое окно закрывается очень быстро - person Athu R; 14.05.2021
comment
Всегда пожалуйста - person Athul A; 15.05.2021
comment
Какую ОС вы используете. - person Athul A; 15.05.2021
comment
@AthuR Попробуйте добавить input("Press enter to exit") в конец Code.py примера @AthulA, чтобы предотвратить немедленное закрытие скрипта, см. Как сохранить Python открыто окно вывода скрипта? Или запустите исполняемый файл из cmd приглашения. - person jpeg; 21.05.2021
comment
Итак, как вы сказали, я добавил ввод (нажмите ввод, чтобы выйти) в конце скрипта, но когда я создаю его exe-файл и запускаю его, он запрашивает у меня только ввод (нажмите ввод, чтобы выйти) ответ, он не спрашивает меня о вводе sys. - person Athu R; 25.05.2021