2010-03-31 2 views
2

Я использую cx_Freeze, чтобы заморозить мой код Python, чтобы я мог распространять его как исполняемый файл в системах Windows. Он отлично работает, но ему не хватает нескольких модулей. Я использую некоторые библиотеки с открытым исходным кодом в своем проекте, например. BeautifulSoup и Periscope. Они используют некоторые библиотеки для обратной совместимости, которые мне не нужно включать в качестве Python 2.6. Проблема - третий импорт - multiprocessing._multiprocessing. Может ли кто-нибудь сказать мне, что мне нужно установить, чтобы это исправить? Кажется, что модуль mutiprocessing поставляется в комплекте с Python, и что вызывает эту ошибку?Отсутствует модуль многопроцессорности при замораживании кода Python

Missing modules: 
? cjkcodecs.aliases imported from BeautifulSoup.BeautifulSoup 
? iconv_codec imported from BeautifulSoup.BeautifulSoup 
? multiprocessing._multiprocessing imported from multiprocessing.forking 
? xdg.BaseDirectory imported from periscope.periscope 

Любая помощь?

Спасибо, ребята!

+0

Вы уверены, что используете правильную версию cx_Freeze? Я вижу это на своем веб-сайте: «ПРИМЕЧАНИЕ. Бинарные пакеты должны быть совместимы с установкой Python в вашей системе или вы получите ошибки в ваших замороженных исполняемых файлах о отсутствующих встроенных модулях» –

+0

Я использую Python 2.6.2 и загружаю Модуль cx_Freeze для Python 2.6. Я не думаю, что это проблема с версией. –

ответ

1

В Google App Engine была аналогичная проблема. См. this

Я исправил это, поместив файл _multiprocessing.py в папку модуля многопроцессорности. Этот файл содержал код:

импорт MultiProcessing

Это работает, но это не надежный ответ.

+0

Большинство морозильников, также выбирайте 'if False: import multipropcessing'. Я не знаю о py 2.6, но в python 3 cx-freeze он работает – Berserker