2017-06-30 15 views
1

イムが、ヘブライ語部分の私は、このエラーはすべての時間を持っ the errorEXEファイルに変換TkinterののPYファイルcx_freezeを使用してEXEに私のTkinterのファイルを変換しようと

翻訳:

私を見つけたのdidntモジュールセットアップファイルのコードです:

import sys 
from cx_Freeze import setup, Executable 
import os 

os.environ['TCL_LIBRARY'] = "C:\\Users\\royreznik\\AppData\\Local\\Programs\\Python\\Python36-32\\tcl\\tcl8.6" 
os.environ['TK_LIBRARY'] = "C:\\Users\\royreznik\\AppData\\Local\\Programs\\Python\\Python36-32\\tcl\\tk8.6" 


build_exe_options = {"includes": ["tkinter"]} 

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

setup(
    name = "simple_Tkinter", 
    version = "0.1", 
    description = "Sample cx_Freeze Tkinter script", 
    options = {"build_exe": build_exe_options}, 
    executables = [Executable("tal1.py", base = base)]) 

と私のメインのファイルがある:

from tkinter import * 
root = Tk() 


Entry1 = Entry(root) 
Entry2 = Entry(root) 

Entry1.grid(row=0) 
Entry2.grid(row=1) 

Label1 = Label(root, text="null") 
Label1.grid(row=4) 

def funca(): 
    phrase = Entry1.get() 
    words = phrase.split() 
    wordCount = 0; 
    for word in words: 
     if word == Entry2.get(): 
      wordCount = wordCount+1 
    Label1.configure(text=wordCount) 

btn = Button(root, text="get Num",command=funca) 
btn.grid(row=3) 



root.mainloop() 

何が問題なのですか?

+0

私はあなたに 'py2exe'ライブラリを使うことをお勧めします – CunivL

答えて

1

PythonディレクトリのDLLsフォルダには、tk86t.dlltcl86t.dllがあります。コンパイルしたいmain.pyを使ってビルドフォルダにコピーする必要があります。

次に、setup.pyinclude_filesパラメータに2つのファイルを追加する必要があります。

今、あなたのsetup.pyは次のようなもののようになります。もちろん

import os 
from cx_Freeze import setup, Executable 

os.environ['TCL_LIBRARY'] = 'c:/python36/tcl/tcl8.6' 
os.environ['TK_LIBRARY'] = 'c:/python36/tcl/tk8.6' 

buildOptions = dict(
    packages = [], 
    excludes = [], 
    include_files=['c:/python36/DLLs/tcl86t.dll', 'c:/python36/DLLs/tk86t.dll'] 
) 

import sys 
base = 'Win32GUI' if sys.platform=='win32' else None 

executables = [ 
    Executable('editor.py', base=base) 
] 

setup(name='editor', 
     version = '1.0', 
     description = '', 
     options = dict(build_exe = buildOptions), 
     executables = executables) 

あなたはそれを動作させるために、ディレクトリ・パスを適応させる必要があります。

+0

ありがとうございました!!!! – Reznik

関連する問題