独立可执行文件

时间:2018-03-21 17:02:02

标签: python tkinter exe

我用gui使用tkinter创建了一个python程序。在文件中有几个外部文本文件调用。我想使用pyinstaller创建一个独立的可执行文件,但是形成的可执行文件会产生一个错误,即“脚本无法执行”(我不记得确切的措辞)。

如何将整个文件夹转换为单个.exe文件?

3 个答案:

答案 0 :(得分:0)

构建它时,您将使用 pyinstaller cx_Freeze p2exe 之类的内容 还有很多其他 ......

您还可以参考此视频,了解 HERE 的方式和内容 但基本上,对于大多数这些转换器,您将拥有setup.py 文件,其中包含有关如何设置.py的信息,并且您将包含模块在包裹中。

setup.py文件通常如下所示:

import sys
from cx_Freeze import setup, Executable
build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]} 

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

setup(  name = "somename",
        version = "0.1",
        description = "this is my software",
        options = {"build_exe": build_exe_options},
        # our package list is included in build options line 3

        executables = [Executable("ourpy_file.py", base=base)])

cx_Freeze Documentation  更多细节。如果我们要包含我们将使用的任何其他文件(使用cx_Freeze)include_files 我们的build_exe_options would看起来像:

build_exe_options = {"packages": ["os", "tkinter"],"include_files" :"<fullpath>"} 
# this is if we were to include os and tkinter and include some other files

答案 1 :(得分:0)

首先,您需要创建一个setup.py文件。如果您推送安装cx_Freezer比使用其他库py2exepyinstaller更好。

DLLs文件从目录\Python\Python36-32\复制到.py文件目录。

然后你写下以下代码:

from cx_Freeze import setup, Executable
import sys
import os.path
base = None
if sys.platform == "win32":
       base = "Win32GUI"

#os.environ['TCL_LIBRARY'] = r'C:\Program Files\Python35-32\tcl\tcl8.6'
#os.environ['TK_LIBRARY'] = r'C:\Program Files\Python35-32\tcl\tk8.6'
import os
includes = os.listdir("") #Include your main python file with its directory

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')
setup(name = 'Python_file',
version = "0.1",
description = "Python_file",
options = {'build_exe':{'include_files':includes,'packages':['pygame','tkinter','dill','PIL']}},
executables=[Executable("python_file.py", base= base)])

cmd文件目录中打开setup.py,然后运行Python setup.py

答案 2 :(得分:0)

解决错误

  

无法执行脚本---------- exe name

使用pyinstaller进行编译后,请确保将脚本中使用的所有files (不应该是.py文件)复制到exe { {1}}文件。这主要是由您在程序中使用的image files引起的,因此请将其复制到folder您的standalone file,然后再次启动exe文件。