【问题标题】:How do I fix an Error when Freezing Python 3.7 Script using cx_Freeze使用 cx_Freeze 冻结 Python 3.7 脚本时如何修复错误
【发布时间】:2018-11-13 01:21:34
【问题描述】:

我正在尝试使用 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.

【问题讨论】:

  • 我使用 PySimpleGUI 创建 EXE 的唯一方法是使用 PyInstaller,如自述文件中所示。旁注...我会升级你的 PySimpleGUI。现在是 3.14.0。

标签: python python-3.x cx-freeze python-3.7 pysimplegui


【解决方案1】:

使用 PySimpleGUI 从程序制作 .EXE 文件的说明可以在文档here 中找到。

创建.EXE:

pyinstaller -wF yoursourcefile.py

我会先升级你的 PySimpleGUI 包。

【讨论】:

    【解决方案2】:
    1. 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。
    2. 您是否检查过C:\\Program Files\\Python37\\tcl\\tcl8.6 是否存在?无论如何,让您的安装脚本使用 PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__)) 动态确定您的 Python 安装目录会更好,就像在 this answer 中所做的那样。
    3. 您需要使用build_exe 选项include_files 告诉cx_Freeze 包括Tcl 和Tk DLL,就像在the same answer 中所做的那样;如果您使用cx_Freeze 5.1.1 或5.1.0,则需要稍有不同,请参阅this answer

    【讨论】:

      猜你喜欢
      • 2019-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-03
      相关资源
      最近更新 更多