应用程序安装在“/opt”中时无法运行

应用程序安装在“/opt”中时无法运行

我用 Python 开发了一个用于 App Developer Showdown 的程序,当我正常打包并安装到 /usr 中时,它按预期运行。但是,当打包安装在 /opt 中时,它无法运行,而且我没有收到(或找不到)任何类型的错误消息,至于问题可能是什么。我想知道这里是否有人知道答案。

该应用程序确实需要 root 访问权限(使用 gksudo)才能运行。

应用:

答案1

如果你删除其中gksudo的内容,bin/aplomb你会看到错误消息:

Traceback (most recent call last):
  File "/opt/extras.ubuntu.com/aplomb/bin/aplomb", line 48, in <module>
    import aplomb
  File "/opt/extras.ubuntu.com/aplomb/aplomb/__init__.py", line 26, in <module>
    from aplomb import AplombWindow
  File "/opt/extras.ubuntu.com/aplomb/aplomb/AplombWindow.py", line 23, in <module>
    locale.bindtextdomain('aplomb', '/opt/extras.ubuntu.com/aplomb/share/locale')
NameError: name 'locale' is not defined

答案2

将这些行添加到必要的文件中应该可以解决您的语言环境问题。

import locale

TEXTDOMAIN = 'yourapp'
LOCALEDIR = '/opt/extras.ubuntu.com/yourapp/share/locale'
#LOCALEDIR = '/usr/yourapp/share/locale'
from locale import gettext as _
locale.bindtextdomain(TEXTDOMAIN, LOCALEDIR)
locale.textdomain(TEXTDOMAIN)

相关内容