簡體   English   中英

cx_Freeze與Tkinter

[英]cx_Freeze with Tkinter

我是法國人,對我的英語感到抱歉。 我實際上創建了一個使用tkinter,paramiko,telnetlib等許多功能的Python 3.6.1程序,並且我想使用cx_Freeze創建一個exe。 有了“ Hello World”程序,它就成功了,但是當我僅嘗試使用Tkinter時,它是行不通的。 我有一個錯誤屏幕,因為運行exe時終端看不到錯誤超過0.5秒。 因此,我通過setup.py加入該屏幕。

setup.py:

  

錯誤:

  

感謝您的閱讀和幫助

試試看。 可以肯定的是,這將假定您的Python安裝是PATH的一部分。

import sys
import os
from cx_Freeze import setup, Executable
import cx_Freeze
import tkinter
import os.path
import scipy

base = None

if sys.platform == 'win32':
    base = "Win32GUI"


PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
os.environ['TCL_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tcl8.6')
os.environ['TK_LIBRARY'] = os.path.join(PYTHON_INSTALL_DIR, 'tcl', 'tk8.6')

#os.environ['TCL_LIBRARY'] = r'C:\Users\matthew\Downloads\WinPython-64bit-3.5.3.0Qt5\python-3.5.3.amd64\tcl\tcl8.6'
#os.environ['TK_LIBRARY'] = r'C:\Users\matthew\Downloads\WinPython-64bit-3.5.3.0Qt5\python-3.5.3.amd64\tcl\tk8.6'

executables = [cx_Freeze.Executable("exeTest.py", base=base)]
addtional_mods = ['numpy.core._methods', 'numpy.lib.format']

packages = ["idna", "numpy",]
options = {
    'build_exe': {

        'include_files':[
            os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tk86t.dll'),
            os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tcl86t.dll'),
            os.path.dirname(scipy.__file__),

         ],
        'includes': addtional_mods,
        'packages':packages,
    },

}

cx_Freeze.setup(
    name = "letest",
    options = options,
    version = "0.01",
    description = 'Bonjour',
    executables = executables
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM