Моя программа, похоже, не выходит за рамки утверждения Pool (5). Я использую python 3.6 на сервере Windows, 64-разрядную виртуальную машину с 8 виртуальными процессорами.
Код выглядит следующим образом:
import pathos.multiprocessing as mp
poolObj = mp.Pool(5)
docs = poolObj.map(nlp,textStr)
он получает повешенное в заявлении Пул (5). Я тоже пробовал с ProcessPool (5), тот же результат.
Я автор pathos
. Сначала... это помогает, если вы публикуете фрагмент кода, который может быть выполнен людьми, пытающимися ответить на ваш вопрос. Это поможет вам получить лучший ответ, поскольку он может быть лучше диагностирован (как в этом случае, это может быть проблема с сериализацией, или это может быть freeze_support
с freeze_support
или это может быть проблема с сборкой).
Вот что я могу предложить в абстрактном понимании более подробной информации:
multiprocess
, который намеревается использовать pathos
. Это вилка multiprocessing
которая имеет больше возможностей. Если ответ отрицательный, вам нужно установить его, а затем перестроить multiprocess
.__main__
если вы используете multiprocess
(см. Выше), однако в окнах вам нужно будет использовать pathos.helpers.freeze_support
. Это необходимо для бассейнов на окнах в большинстве случаев.dill.check
объект для multiprocess
с dill.check
(в пакете dill
).Это также может быть комбинация одного или нескольких из вышеперечисленных.
multiprocess
так как вы добавили компилятор Си. Вы можете проверить, создана ли необходимая библиотека C, выполнивimport _multiprocess
. Если это удастся, значит, вы преодолели проблему сборки.