我遇到问题,每次使用python setup.py build
时,它都不会导入所有文件,例如ws.ini, tcl.dll, tk.dll
等。
并且使用这个文件,我的app.exe不起作用。
我试图复制并粘贴这些文件,应用程序正常工作,但我需要一种自动导入的方法。
感谢。
import sys, os
from cx_Freeze import setup, Executable
os.environ['TCL_LIBRARY'] = r'C:\Users\matheus.sales.GTONIATO\AppData\Local\Programs\Python\Python35\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Users\matheus.sales.GTONIATO\AppData\Local\Programs\Python\Python35\tcl\tk8.6'
build_exe_options = {
"packages": ["os", "configparser", "glob", "xml.dom", "lxml"],
"includes": ["lxml.etree", "lxml._elementpath"],
"include_files": ["img/logo.png", "README.md", "ws.ini", "tcl86t.dll", "tk86t.dll"]
}
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup(
name="myapp",
version="1.0.0",
description = "Web Service My App",
options = {"build.exe": build_exe_options},
executables = [Executable("interface.py", base=base)]
)
答案 0 :(得分:0)
确切的错误是什么? 花了很多时间试图让cx_freeze工作,我发现你需要使用正斜率来表示环境变量&你需要提供include_files的路径。这对我有用:
import sys
import os
from cx_Freeze import setup, Executable
os.environ['TCL_LIBRARY'] = 'C:/Program Files/Python36/tcl/tcl8.6'
os.environ['TK_LIBRARY'] = 'C:/Program Files/Python36/tcl/tk8.6'
# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {"includes": ["tkinter","unguilded"],
"packages":["tkinter"],
"include_files":["C:/Program Files/Python36/DLLs/tcl86t.dll", "C:/Program Files/Python36/DLLs/tk86t.dll"]}
# GUI applications require a different base on Windows (the default is for a
# console application).
base = None
if sys.platform == "win32":
base = "Win32GUI"
setup(
name = "Scraper",
version = "0.1",
description = "Scrapper",
options = {"build_exe": build_exe_options},
executables = [Executable("Scrape.py", base = base)])