cx\U Freeze和Python的各种build\u exe\u选项是什么?

cx\U Freeze和Python的各种build\u exe\u选项是什么?,python,python-3.x,cx-freeze,Python,Python 3.x,Cx Freeze,我完成了我的第一个完整的python程序,正在尝试创建一个exe。我确实成功构建了exe,但它运行时什么也不做。我猜它没有包括所有的包裹。我可以在cx\u Freeze中使用build\u exe\u选项指定这些,但我不知道包和排除之间的区别 这些是我在程序中使用的所有导入 import os import smtplib from datetime import datetime, timedelta from ftplib import FTP_TLS from email.mime.tex

我完成了我的第一个完整的python程序,正在尝试创建一个exe。我确实成功构建了exe,但它运行时什么也不做。我猜它没有包括所有的包裹。我可以在cx\u Freeze中使用build\u exe\u选项指定这些,但我不知道包和排除之间的区别

这些是我在程序中使用的所有导入

import os
import smtplib
from datetime import datetime, timedelta
from ftplib import FTP_TLS
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
下面是我当前的安装文件

from cx_Freeze import setup, Executable

setup(
    name = "FTPConnect",
    version = "1.0",
    description = "Connects to FTP to download docs",
    executables = [Executable("main.py")]
)
我猜我可以做这样的事,对吗

from cx_Freeze import setup, Executable

# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {"packages": ["os", "smtplib", "datetime", "ftplib", "email.mime.text", "email.mime.multipart" ], "excludes": []}

setup(
      name = "FTPConnect",
      version = "1.0",
      description = "Connects to FTP to download docs",
      options = {"build_exe": build_exe_options},
      executables = [Executable("main.py")]
)
“packages”将包含一个包及其所有子模块,而“exclude”将排除列出的模块

请在此处阅读有关所有可能值的详细信息:。这是一个命令行选项列表,但在脚本中也可以使用

还有许多其他选项允许包括和排除压缩模块、DLL二进制文件等


希望这有帮助

因此,如果我使用“includes”而不是包,那么我可以只导入包的特定部分吗?如果我想要整个软件包,我会用软件包吗?为什么我会想要排除一个模块,如果我没有包括它,它应该被排除,对吗?有时第三方模块导入了很多你不需要的垃圾,这些只会炸毁你的exe。通过排除他们,他们将。。。从exe:中排除是有意义的。谢谢我刚刚经历了一个类似的困难。你最终得到了一些改进吗?