gpt4 book ai didi

python - 使用 cx_freeze 编译 python3 和 pyqt4 时出现问题

转载 作者:可可西里 更新时间:2023-11-01 14:42:06 26 4
gpt4 key购买 nike

我正在尝试使用 cx_Freeze 编译我使用 Python3 和 PyQt4 编写的简单脚本,但我遇到了三个我无法弄清楚的问题。

  1. 我无法显示图标。我正在为其使用已编译的资源文件,即导入包含资源的 .py,并且我已尝试遵循建议 here ,将 imageformats 文件夹复制到我的项目文件夹,但似乎没有任何效果。

  2. 我没有使用包括 tcl 和 ttk 在内的多个 python 模块,所以我将它们添加到 excludes 选项中。不过好像还是加了。

  3. 当我尝试使用 base='Win32GUI' 运行创建的 exe 进行编译时引发异常:'NoneType' 没有属性 'encoding'

我很确定我的设置脚本有问题,因为 cx_Freeze 文档不是很详细,所以希望有人能指出这个问题。这是设置脚本。我不打算发布我正在编译的脚本,因为它很长,但如果需要的话,我会尝试创建一个简洁的版本进行测试。

from cx_Freeze import setup, Executable

exe = Executable(
script='cconvert.py',
base='Win32GUI'
)

options = dict(
excludes=['curses', 'email', 'tcl', 'ttk']
)

setup(
name="Coord Convertor",
version="0.1",
description="A Coordinate converter from DMS to DD",
requires=['pyqt4 (>=4.8)', 'dtlibs (>=0.4.1)'],
data_files=['imageformats'],
executables=[exe],
options={'build-exe': options}
)

最佳答案

已解决。除了 Thomas 的指示之外,我还需要将“图像格式”置于选项中的“包含文件”下,而不是“数据文件”。我的最终脚本如下所示:

from cx_Freeze import setup, Executable

exe = Executable(
script='cconvert.pyw',
base='Win32GUI'
)

options = dict(
excludes=['curses', 'email', 'tcl', 'ttk', 'tkinter'],
include_files=['imageformats']
)

setup(
name="Coord Convertor",
version="0.1",
description="A Coordinate converter from DMS to DD",
requires=['pyqt4 (>=4.8)', 'dtlibs (>=0.4.1)'],
executables=[exe],
options={'build_exe': options}
)

关于python - 使用 cx_freeze 编译 python3 和 pyqt4 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9682754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com