导入文件cx_Freeze

时间:2017-04-26 12:53:58

标签: python python-3.x cx-freeze

我遇到问题,每次使用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)]
    )

1 个答案:

答案 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)])