1

我试图用 pyinstaller 打包我的 wxpython 应用程序。目前我成功打包并在另一台计算机上启动它,但所有文本都只是正方形。有谁知道出了什么问题以及如何解决它。

我将它打包在 Debian wheezy 32 位上,并在 Debian Squeeze 32 位和 Debian Jessie 64 位上进行了测试。(两者都有这个平方问题)。

当我尝试启动该程序时,我收到以下警告

Fontconfig 错误:“/etc/fonts/conf.d/10-scale-bitmap-fonts.conf”,第 70 行:非双矩阵元素 Fontconfig 错误:“/etc/fonts/conf.d/10-scale-bitmap -fonts.conf”,第 70 行:非双矩阵元素 Fontconfig 警告:“/etc/fonts/conf.d/10-scale-bitmap-fonts.conf”,第 78 行:看到未知,预期数字

(主要:27557):Pango-CRITICAL **:未找到模块:未找到内置或动态加载的模块。PangoFc 将无法正常工作。这可能意味着创建时出错:'/etc/pango/pango.modules' 你应该通过运行来创建这个文件:pango-querymodules > '/etc/pango/pango.modules'

(main:27557): Pango-WARNING **: 未能选择字体,期待丑陋的输出。引擎类型='PangoRenderFc',脚本='拉丁语'

(main:27557): Pango-WARNING **: 未能选择字体,期待丑陋的输出。引擎类型='PangoRenderFc',脚本='common'

4

1 回答 1

0

也许一些编码问题?我们的 Python 模块是用什么编码的?ASCII 还是 UTF-8?

使用 py2exe,我需要在我的应用程序模块中使用这个 hack:

  1. 人们说应该不理会它并使用解码/编码,或者在 sitecustomize.py 中定义它
  2. 它们中的任何一个都不适用于我,所以只要以下内容有效
  3. 这就是我在切换到 Py 3.x 之前要做的事情

-

if hasattr(sys, "frozen"):  #Py2Exe does not run Site.py
    sys.setdefaultencoding('utf-8')
    del sys.setdefaultencoding
else:
    #The Python interpreter needs to reload the function
    # save/restore the excepthook, otherwise WingIDE won't see some exceptions
    hook = sys.excepthook
    reload(sys)
    sys.setdefaultencoding('utf-8')
    del sys.setdefaultencoding
    sys.excepthook = hook
于 2014-04-17T15:50:51.563 回答