1

我有一个 Python 应用程序,我正在尝试制作一个使用 py2app 的独立版本。但是,当我执行 .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 就好了,但是其中一个子包是 _psutil_osx 并且没有被导入。知道为什么不包括在内吗?我也尝试将它添加到我的 include 和 setup.py 文件中,但无济于事。提前致谢

4

1 回答 1

0

_psutil_osx 模块是一个已编译的共享库。您需要使用 py2app 的 frameworks 选项来包含它。“</p>

于 2012-03-14T18:36:14.247 回答