web-dev-qa-db-ja.com

「/ opt」にインストールするとアプリケーションは実行されません

私はAppDeveloper Showdown用のプログラムをPythonですばやく開発しましたが、通常どおり/ usrにパッケージ化してインストールすると期待どおりに機能します。ただし、/ optにインストールするためにパッケージ化すると、実行されません。また、問題が何であるかについて、どのような種類のエラーメッセージも表示されません(または見つかりません)。ここの誰かが答えを持っているかどうか疑問に思いました。

アプリが機能するには、gksudoを使用したルートアクセスが必要です。

応用:

1
Sam Hewitt

bin/aplombgksudoのものを削除すると、次のエラーメッセージが表示されます。

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
1
Florian Diesch

これらの行を必要なファイルに追加すると、ロケールの問題が解決するはずです。

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)
1
Sam Hewitt