我完成了我的第一个完整的python程序,并试图创建一个exe。我成功地构建了exe,但是它运行,什么也不做。我猜它没有包括所有的包裹。我可以用build_exe_options在cx_Freeze中指定这些包,但是我不知道包之间的区别和排除。
这些是我在我的程序中使用的所有导入。
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")]
)发布于 2017-03-16 19:24:41
好的,'packages'将包括一个包及其所有子模块,而'exclude'将排除列出的模块。
在这里阅读更多关于所有可能值的内容:http://cx-freeze.readthedocs.io/en/latest/distutils.html#build-exe。这是一个命令行选项列表,但是这个选项在脚本中也能使用。
还有许多其他选项允许包括和排除压缩模块、DLL二进制文件等。
希望这能有所帮助!
https://stackoverflow.com/questions/42843046
复制相似问题