Почему создание объекта multiprocessing.Pool пытается подключиться к 127.0.0.1: [порт] и не может это сделать? - PullRequest
0 голосов
/ 20 июня 2019

Я нашел этот ответ , но когда я пытаюсь выполнить этот код как есть, он выдаёт мне вывод с ошибками.

Код из этого ответа (для упрощения):

from multiprocessing.dummy import Pool as ThreadPool
# from tqdm import tqdm
import numpy as np
import time
import multiprocessing as mp


def my_function(x):
    return x + 1


pool = ThreadPool(4)
my_array = np.arange(0, 1e6, 1)

t1 = time.time()
# results = list(tqdm(pool.imap(my_function, my_array),total=len(my_array)))
pool = mp.Pool(processes=4)  # Generally, set to 2*num_cores you have
res = pool.map(my_function, my_array)
print("Time taken = ", time.time() - t1)

Я ожидал, что этот код будет работать, но по какой-то причине он дает мне такой вывод:

Could not connect to 127.0.0.1: 54842
NoneType: None
Could not connect to 127.0.0.1: 54854
NoneType: None
Could not connect to 127.0.0.1: 54858
NoneType: None
Could not connect to 127.0.0.1: 54861
NoneType: None
Could not connect to 127.0.0.1: 54865
NoneType: None
Could not connect to 127.0.0.1: 54868
NoneType: None
Could not connect to 127.0.0.1: 54872
NoneType: None
Could not connect to 127.0.0.1: 54877
NoneType: None
Could not connect to 127.0.0.1: 54898
NoneType: None
Could not connect to 127.0.0.1: 54901
NoneType: None
Could not connect to 127.0.0.1: 54914
NoneType: None
Could not connect to 127.0.0.1: 54918
NoneType: None
Could not connect to 127.0.0.1: 54929
NoneType: None
Could not connect to 127.0.0.1: 54932
NoneType: None

Почему, черт возьми, он вообще пытается подключиться к некоторым портам и почему он этого не делает, даже если брандмауэр отключен? Как мне заставить это работать?

...