如何从包含sys模块的python文件中构建exe文件



我用python制作了一个程序,该程序由sys模块组成。我想使用cx_Freeze将其转换为exe文件。因此,我在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";在里面,它在exe中有一个名为lib、myfilename.exe、python3.dll和python39.dll的文件夹。win-amd64…当我运行myfilenameexe时,它会打开和关闭,而我有一个input((,它会问我要这个。所以你能帮助我如何使用我想用cx_Freeze 转换为exe的文件中的sys模块吗

**使用cx_Freeze**

首先检查cx_Freeze库是否已安装,如果未安装,请使用pip-installcx_Freezeelse使用升级库

*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,
)

根据您的方便更新代码。

最新更新