1

py2app を使用してスタンドアロン バージョンを作成しようとしている Python アプリケーションがあります。ただし、.app ファイルを実行すると、次のエラーで終了します。

ImportError: No module named _psutil_osx

これは、同じ問題を抱えているサンプル アプリケーション (test.py) ですが、実行すると正常に動作しますpython test.py

from psutil import cpu_percent
print cpu_percent()

次に、ターミナルから次を実行します

py2applet --make-setup test.py
python setup.py py2app

コンソールからのエラーログは次のとおりです

[0x0-0xd80d8].org.pythonmac.unspecified.test[34841]: Traceback (most recent call last):
[0x0-0xd80d8].org.pythonmac.unspecified.test[34841]:   File "/Users/MyUser/Documents/Python/testpy/dist/test.app/Contents/Resources/__boot__.py", line 320, in <module>
[0x0-0xd80d8].org.pythonmac.unspecified.test[34841]:     _run('test.py')
[0x0-0xd80d8].org.pythonmac.unspecified.test[34841]:   File "/Users/MyUser/Documents/Python/testpy/dist/test.app/Contents/Resources/__boot__.py", line 317, in _run
[0x0-0xd80d8].org.pythonmac.unspecified.test[34841]:     execfile(path, globals(), globals())
[0x0-0xd80d8].org.pythonmac.unspecified.test[34841]:   File "/Users/MyUser/Documents/Python/testpy/dist/test.app/Contents/Resources/test.py", line 1, in <module>
[0x0-0xd80d8].org.pythonmac.unspecified.test[34841]:     from psutil import cpu_percent
[0x0-0xd80d8].org.pythonmac.unspecified.test[34841]:   File "build/bdist.macosx-10.7-intel/egg/psutil/__init__.py", line 77, in <module>
[0x0-0xd80d8].org.pythonmac.unspecified.test[34841]:   File "build/bdist.macosx-10.7-intel/egg/psutil/_psosx.py", line 14, in <module>
[0x0-0xd80d8].org.pythonmac.unspecified.test[34841]: ImportError: No module named _psutil_osx
test[34841]: test Error
[0x0-0xd80d8].org.pythonmac.unspecified.test[34841]: Exited with code: 255 

psutil は正常にインポートされているようですが、サブパッケージの 1 つが _psutil_osx であり、インポートされていません。なぜそれが含まれないのか考えていますか?setup.py ファイルの include と requires にもそれを追加しようとしましたが、役に立ちませんでした。前もって感謝します

4

1 に答える 1

0

_psutil_osxモジュールは、コンパイルされた共有ライブラリです。それを含めるには、py2appのフレームワークオプションを使用する必要があります。「</p>

于 2012-03-14T18:36:14.247 に答える