Python py2app с модулем psutil - PullRequest
1 голос
/ 14 марта 2012

У меня есть приложение на 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, и он не импортируется.Любая идея, почему это не будет включено?Я попытался добавить это к моим включениям и требованиям в файле setup.py, но безрезультатно.Заранее спасибо

1 Ответ

0 голосов
/ 14 марта 2012

модуль _psutil_osx - это скомпилированная разделяемая библиотека. Вы должны использовать опцию frameworks py2app, чтобы включить его. «

...