我正在尝试使用cx_Freeze用我的python脚本创建一个独立的可执行文件。
这是我得到的错误:error: [Errno 2] No such file or directory: 'C:\\Program Files\\Python37\\tcl\\tcl8.6'
这与使用PySimpleGUI之类的模块有关吗?我正在使用PySimpleGUI 3.1.2
。
我该如何解决?
这是我的代码(setup.py and Track_Companion.py)。
Note: Track_Companion.py is not yet finished.
答案 0 :(得分:2)
在文档here中可以找到使用PySimpleGUI从程序制作.EXE文件的说明。
要创建.EXE:
pyinstaller -wF yoursourcefile.py
我会先升级您的PySimpleGUI软件包。
答案 1 :(得分:2)
cx_Freeze
尚不支持Python 3.7,但存在一个错误。有一个错误修正,但尚未发布,但是您可以手动应用它,请参见What could be the reason for fatal python error:initfsencoding:unable to load the file system codec?和Cx_freeze crashing Python3.7.0。或者,如果您愿意,可以回滚到Python 3.6。C:\\Program Files\\Python37\\tcl\\tcl8.6
存在?无论如何,最好像this answer一样,让安装脚本使用PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
动态地确定Python安装目录。cx_Freeze
使用build_exe
选项include_files
来包含Tcl和Tk DLL,就像在the same answer中所做的那样;如果您使用的是cx_Freeze
5.1.1或5.1.0,则需要稍微做些不同,请参见this answer。