使用cx_freeze TCL_库构建Python pygame exe

2024-06-16 14:19:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在遵循本教程here在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
    )

当我试图在命令提示符中构建它时,我得到了这个错误

C:\Users\Accounts\Documents\snake>C:/Python35/python setup.py build running build running build_exe File "C:\Python35\lib\site-packages\cx_Freeze\hooks.py", line 597, in load_tkinter tclSourceDir = os.environ["TCL_LIBRARY"]

File "C:\Python35\lib\os.py", line 681, in getitem raise KeyError(key) from None KeyError: 'TCL_LIBRARY'KeyError: 'TCL_LIBRARY'

而且它不会建造。有人知道怎么解决这个问题吗?谢谢


Tags: inpybuildpngsetuplibrarytclpygame
3条回答

今天早上我也遇到了一个类似的错误并成功地解决了! 在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"

您可能需要用系统上tcl8.6和tk8.6的确切路径分别替换C:\ Program Files\Python35\tcl\tcl8.6和C:\ Program Files\Python35\tcl\tk8.6。

今天早上我也遇到了一个类似的错误,并且成功地解决了! 在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"

您可能需要用系统上tcl8.6和tk8.6的确切路径分别替换C:\ Program Files\Python35\tcl\tcl8.6和C:\ Program Files\Python35\tcl\tk8.6。

假设您使用的是windows操作系统:

在计算机用户和系统变量中添加2个名为TCL_Library和TK_Library的环境变量

TK_Library

TCL_Library

Env variable

相关问题 更多 >