Python pygame exe使用cx_freeze TCL_LIBRARY错误构建

Mar*_*arl 5 python pygame build command-prompt cx-freeze

我在这里按照这个教程在pygame中制作一个蛇游戏.这是我的setup.py代码:

import cx_Freeze

executables = [cx_Freeze.Executable("snake.py")]

cx_Freeze.setup(
    name="Snake",
    options={"build_exe":{"packages":["pygame"], "include_files":["apple.png","Aenemy.png","bomb.png","cherry.png","enemy.png","fire.png","iceimg.png","snakebod(2).png","snakebod.png","Explosion.wav","Explosion2.wav","jump.wav","Pickup_Coin.wav","Powerup.wav","openingsong.mp3","highscores.txt",]}},

    description = "Snake Game made in python with pygame.",
    executables = executables
    )
Run Code Online (Sandbox Code Playgroud)

当我尝试在命令提示符中构建它时,我收到此错误

C:\ Users\Accounts\Documents\snake> C:/ Python35/python setup.py构建运行构建运行build_exe文件"C:\ Python35\lib\site-packages\cx_Freeze\hooks.py",第597行,在load_tkinter中tclSourceDir = os.environ ["TCL_LIBRARY"]

文件"C:\ Python35\lib\os.py",第681行,在getitem中从无KeyError引发KeyError(key):'TCL_LIBRARY'KeyError:'TCL_LIBRARY'

而且它没有建立.有谁知道如何解决这一问题?谢谢

小智 9

我得到了类似的错误,并在今天早上成功解决了!在setup.py代码中添加以下行

import os
os.environ['TCL_LIBRARY'] = "C:\\Program Files\\Python35\\tcl\\tcl8.6"
os.environ['TK_LIBRARY'] = "C:\\Program Files\\Python35\\tcl\\tk8.6"
Run Code Online (Sandbox Code Playgroud)

你可能需要更换C:\ Program Files文件\ Python35\TCL\tcl8.6和C:\ Program Files文件\ Python35\TCL\tk8.6与您的系统上分别tcl8.6和tk8.6的确切路径.