【问题标题】:pyinstaller squares instead of letterspyinstaller 正方形而不是字母
【发布时间】:2013-11-24 09:17:32
【问题描述】:

我尝试使用 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 行:看到未知,预期数字

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

(main:27557): Pango-WARNING **: 未能选择字体,期待丑陋的输出。 engine-type='PangoRenderFc', script='latin'

(main:27557): Pango-WARNING **: 未能选择字体,期待丑陋的输出。 engine-type='PangoRenderFc', script='common'

【问题讨论】:

  • 您使用的是自定义字体吗?文字是否适合按钮?
  • 嗨,是的,我使用标准的系统字体,正方形很适合按钮
  • 我忘了提到我也在使用 matplotlib 进行一些绘图,这里的文字很好。
  • wxPython 和 Python 哪个版本?
  • Python 是 2.7.3 而 wxpython 是 2.8.12

标签: wxpython pyinstaller


【解决方案1】:

也许是一些编码问题?我们的 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-27
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    相关资源
    最近更新 更多