заявление о пафосе

1

Моя программа, похоже, не выходит за рамки утверждения 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

1 ответ

1

Я автор pathos. Сначала... это помогает, если вы публикуете фрагмент кода, который может быть выполнен людьми, пытающимися ответить на ваш вопрос. Это поможет вам получить лучший ответ, поскольку он может быть лучше диагностирован (как в этом случае, это может быть проблема с сериализацией, или это может быть freeze_support с freeze_support или это может быть проблема с сборкой).

Вот что я могу предложить в абстрактном понимании более подробной информации:

  • У вас есть компилятор C? Если нет, то вы на самом деле не используете multiprocess, который намеревается использовать pathos. Это вилка multiprocessing которая имеет больше возможностей. Если ответ отрицательный, вам нужно установить его, а затем перестроить multiprocess.
  • Вам не нужно выполнять пробег в __main__ если вы используете multiprocess (см. Выше), однако в окнах вам нужно будет использовать pathos.helpers.freeze_support. Это необходимо для бассейнов на окнах в большинстве случаев.
  • Если оба вышеописанных являются точными, я бы проверил, будет ли ваш объект сериализован, а в окнах вы можете подтвердить, правильно ли будет правильно dill.check объект для multiprocess с dill.check (в пакете dill).

Это также может быть комбинация одного или нескольких из вышеперечисленных.

  • 0
    У меня раньше не было компилятора C, но теперь я установил tcc. Я установил пафос, используя conda forge, который также установил многопроцессорность и укроп. Согласно документации на [ссылка] ( pypi.org/project/multiprocess ), для Python 3.3 + C компилятор предлагается не обязательно, хотя. Учитывая, что мне все еще нужен компилятор C, нужно ли мне загружать многопроцессорную систему и собирать ее отдельно, или подойдет установка пафоса из conda forge?
  • 0
    Я бы перестроил multiprocess так как вы добавили компилятор Си. Вы можете проверить, создана ли необходимая библиотека C, выполнив import _multiprocess . Если это удастся, значит, вы преодолели проблему сборки.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню