Amunrah
@Amunrah
Сказочный персонаж ))

Почему пример из документации, для модуля multiprocessing не работает?

Открываю документацию по модулю, копирую первый же или, например, второй пример в IDE:
from multiprocessing import Process

def f(name):
    print('hello', name)

if __name__ == '__main__':
    p = Process(target=f, args=('bob',))
    p.start()
    p.join()

И получаю, вот такую ошибку:
>>> Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python36\lib\multiprocessing\spawn.py", line 105, in spawn_main
    exitcode = _main(fd)
  File "C:\Python36\lib\multiprocessing\spawn.py", line 115, in _main
    self = reduction.pickle.load(from_parent)
AttributeError: Can't get attribute 'f' on <module '__main__' (built-in)>

Тоже самое, если вводить через терминал. В стандартном IDLE просто ничего не происходит.
Другие примеры - например из модуля threading запускаются без проблем. Почемуто сложности именно с этой либой. Хоть что-то начинает работать только, если вместо модуля multiprocessing использовать multiprocessing.dummy, но вроде это опять потоки, а не процессы.
(WIn10 x64 - Python обновил недавно до 3.6.4)
Подскажите в чем может быть проблема?
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Popmechanic Москва
от 100 000 до 150 000 руб.
Panda Media Нижний Новгород
от 70 000 руб.
НЛ Континент Новосибирск
от 60 000 до 100 000 руб.