1

数週間前、py2app を使用してアプリを構築することができました。もう一度試してみたところ、ビルド プロセス中に、以下のスタック トレースで pdb セッションにダンプされました。

modulegraph.py のインポートに問題があるようですが、最新のバージョンに更新されています。

これは、sys 以外のインポートがなく、py2applet が作成するセットアップを使用する最小限のテスト ファイルでも発生します。

また、py2app を実行している python が /System バージョンではなく、/Library バージョンであることも確認しました。

何か案は?

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/py2app-0.4.3-py2.6.egg/py2app/build_app.py", line 589, in _run
    self.run_normal()
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/py2app-0.4.3-py2.6.egg/py2app/build_app.py", line 641, in run_normal
    mf = self.get_modulefinder()
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/py2app-0.4.3-py2.6.egg/py2app/build_app.py", line 549, in get_modulefinder
    debug=debug,
  File "build/bdist.macosx-10.6-universal/egg/modulegraph/find_modules.py", line 255, in find_modules
    find_needed_modules(mf, scripts, includes, packages)
  File "build/bdist.macosx-10.6-universal/egg/modulegraph/find_modules.py", line 180, in find_needed_modules
    mf.import_hook(mod[:-2], None, ['*'])
  File "build/bdist.macosx-10.6-universal/egg/modulegraph/modulegraph.py", line 404, in import_hook
    modules.update(self.ensure_fromlist(m, fromlist))
  File "build/bdist.macosx-10.6-universal/egg/modulegraph/modulegraph.py", line 472, in ensure_fromlist
    fromlist.update(self.find_all_submodules(m))
  File "build/bdist.macosx-10.6-universal/egg/modulegraph/modulegraph.py", line 496, in find_all_submodules
    for (path, mode, typ) in ifilter(None, imap(moduleInfoForPath, names)):
NameError: global name 'ifilter' is not defined
> /Users/justin/Desktop/test/build/bdist.macosx-10.6-universal/egg/modulegraph/modulegraph.py(496)find_all_submodules()
-> for (path, mode, typ) in ifilter(None, imap(moduleInfoForPath, names)):
4

2 に答える 2

2

これはここに記載されている問題のようであり、 modulegraphの後続の 0.8 リリースで修正されるはずです。modulegraphのバージョンが最新であることを確認してください。パスは少し奇妙です: build/bdist.macosx-10.6-universal/egg/modulegraph. py2app( )のような通常のサイト パッケージとしてインストールされたものではなく、プライベート コピーを使用しているようです/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages

于 2010-08-18T08:19:48.480 に答える
0

この問題がありましたが、受け入れられた回答では解決しませんでした。

From a Python script to a Portable Mac application with py2app を見つけ、要約したソリューションをここに置きます。

myenv/lib/python2.7/site-packages/py2app/recipes/virtualenv.py 1 で、このエラーが発生したファイル (myenv という名前の仮想環境フォルダー内にあった) を編集します。

myenv/lib/python2.7/site-packages/py2app/recipes/virtualenv.py

scan_code関数orを探し、load_moduleそれらの前にアンダースコアを追加し_scan_codeます_load_module。アプリケーションを再度ビルドすると、すぐに動作するはずです

これが理想的ではないことはわかっていますが、今のところプロトタイプが欲しかったので、これで十分です。:)

于 2015-01-22T13:07:42.023 に答える