cx_Freeze 和 Python 的各种 build_exe_options 是什么?

What are the various build_exe_options for cx_Freeze and Python?

我完成了第一个完整的 python 程序,正在尝试创建一个 exe。我确实成功构建了 exe,但它运行但什么也不做。我猜它没有包括所有的包裹。我可以用 build_exe_options 在 cx_Freeze 中指定这些,但我不知道 packages排除.

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

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' 排除 列出的模块。

在此处详细了解所有可能的值:http://cx-freeze.readthedocs.io/en/latest/distutils.html#build-exe。这是一个命令行选项列表,但也适用于您的脚本。

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

希望对您有所帮助!