Python 如何禁用cx_冻结以自动检测所有模块
cx_冻结构建包括安装在我的机器上的所有模块,因此冻结构建成为一个巨大的问题。如何禁用自动检测功能?我只想构建小型PyQt应用程序:Python 如何禁用cx_冻结以自动检测所有模块,python,cx-freeze,Python,Cx Freeze,cx_冻结构建包括安装在我的机器上的所有模块,因此冻结构建成为一个巨大的问题。如何禁用自动检测功能?我只想构建小型PyQt应用程序: import sys from cx_Freeze import setup, Executable path = sys.path + ["app"] includes = ["app.core", "app.utils"] excludes = ["tcl"] build_exe_options = { "path": path, "icon": "reso
import sys
from cx_Freeze import setup, Executable
path = sys.path + ["app"]
includes = ["app.core", "app.utils"]
excludes = ["tcl"]
build_exe_options = {
"path": path,
"icon": "resources\icons\clock.ico"}
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup( name = "app",
version = "1.1",
description = "My Application",
options = {"build_exe": build_exe_options},
executables = [Executable("app.py", base=base,
targetName="app.exe",
shortcutName="Application",
shortcutDir="DesktopFolder")])
还有我的自定义模块,每个模块都有一个utils子模块,所以cx\U冻结放错了模块
如何设置我需要的严格的模块列表?非常简单。
此应用程序使用自定义模块,因此我已将应用程序文件夹添加到路径:
path = sys.path + ["app"]
诀窍在于,应用程序使用模块“utils”,而我的操作系统路径中有其他“utils”模块。其他“utils”模块导入了很多东西,比如matplotlib、PIL等。
所以我通过改变路径环境解决了这个问题,如下所示:
path = ["app"] + sys.path
所以,cx\U freeze在冻结可执行文件时得到了正确的模块。它包括哪些不应该是的模块?你能把日志放在粘贴箱里吗?不要忘记,PyQt和Python本身需要几个库,它包括我在计算机上安装的所有模块,例如matplotlib、PIL、Tkinter。我在家里有一个带有windows的VM,在那里只需要最低限度的安装(python和PyQt),应用程序构建也很好。但在工作中,我有很多包+自定义包,所以应用程序在构建后失败。这是日志。我只想设置所需的最小模块数,仅此而已=)如果代码中的某些内容加载matplotlib,则可能会引入PIL、numpy和tkinter。尝试将matplotlib添加到“排除”。