Ошибка в сборке cx_freeze

Я использую cx_freeze для сборки своего приложения. У меня есть 2 вопроса.

1) Я использую OSX Mountain Lion — файл /build/exe.macosx-10.8-x86_64-2.7, который у меня есть — будут ли он содержать исполняемые файлы для Windows, Linux — и если да, то где в списке я могу его найти? Мой исходный скрипт — cpu.py. Каталог содержит много файлов «.so» и 1 файл «cpu».

2) Когда я пробую «процессор» из списка выше, я получаю этот вывод. «psutil» — это модуль Python, необходимый для скрипта — cpu.py.

Desktop/build/exe.macosx-10.8-x86_64-2.7/cpu ; exit;
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/cx_Freeze/initscripts/Console.py", line 27, in    <module>
exec code in m.__dict__
File "cpu.py", line 6, in <module>
File "/usr/local/lib/python2.7/site-packages/psutil/__init__.py", line 102, in <module>
import psutil._psosx as _psplatform
File "/usr/local/lib/python2.7/site-packages/psutil/_psosx.py", line 14, in <module>
import _psutil_osx
File "build/bdist.macosx-10.8-x86_64/egg/_psutil_osx.py", line 7, in <module>
File "build/bdist.macosx-10.8-x86_64/egg/_psutil_osx.py", line 4, in __bootstrap__
File "build/bdist.macosx-10.8-x86_64/egg/pkg_resources.py", line 945, in resource_filename
File "build/bdist.macosx-10.8-x86_64/egg/pkg_resources.py", line 1626, in get_resource_filename
NotImplementedError: resource_filename() only supported for .egg, not .zip
logout

person askance    schedule 03.09.2013    source источник
comment
Re 1) Нет, вам нужно запустить cx_Freeze на всех платформах независимо, чтобы получить соответствующие исполняемые файлы. На Mac вы получите только исполняемый файл для Mac.   -  person Felix Zumstein    schedule 03.09.2013
comment
Я так и думал, но хотел убедиться. Спасибо :)   -  person askance    schedule 03.09.2013
comment
Если у вас есть два вопроса, лучше задать их отдельно на SO, чтобы было понятно, когда на них ответят. Что касается (2), psutil использует pkg_resources, который не работает с замороженными модулями в zip-файле. Вам придется исправить его, чтобы заставить его вести себя.   -  person Thomas K    schedule 04.09.2013
comment
Спасибо. Я использовал bbfreeze, чтобы сделать это сейчас. Посмотрим, заработает ли, иначе займусь патчем. (Буду иметь в виду совет SO :))   -  person askance    schedule 04.09.2013