Мультиобработка с библиотеками Python .so в блокноте Jupyter - PullRequest
0 голосов
/ 12 декабря 2018

Я пытаюсь выполнить код, подобный следующему:

from concurrent.futures import ProcessPoolExecutor, ThreadPoolExecutor
from example_module import function

argument_list = [0, 0, 0, 0]
parex = ProcessPoolExecutor(max_workers=2)
res = parex.map(function, argument_list)
print(list(res))

, который в целом работает нормально.Однако этот код не работает, когда я использую определенный модуль в module_example .Глядя на исходный код этого конкретного модуля, я понял, что он импортирует некоторые объекты, используя

from .lib import func

из файла с именем lib.cpython-36m-x86_64-linux-gnu.so.Кто-нибудь знает, несовместимо ли это с ProcessPoolExecutor ??Большое спасибо всем!

РЕДАКТИРОВАТЬ: Код работает хорошо, когда выполняется из скрипта.Именно при выполнении его в блокноте Jupyter он выходит из строя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...