У меня проблема в том, что я не могу понять, что произошло: я пытался следовать учебному пособию по многопроцессорности, используя следующий код:
import concurrent.futures
import time
start = time.perf_counter()
def do_something(seconds):
print(f'sleeping {seconds} second(s)...')
time.sleep(seconds)
return 'Done sleeping'
with concurrent.futures.ProcessPoolExecutor() as executor:
f1 = executor.submit(do_something, 1)
print(f1.result())
Я успешно выполнил этот фрагмент кода в блокноте jupyter, но получил следующее сообщение об ошибке при запуске в Pycharm:
/ Users / jiangxu / PycharmProjects / Assign_compartment / venv / bin / python /Users/jiangxu/PycharmProjects/Assign_compartment/multiprocessing.py Traceback (последний вызов последнего ): Файл "/Users/jiangxu/PycharmProjects/Assign_compartment/multiprocessing.py", строка 14, с concurrent.futures.ProcessPoolExecutor () как исполнитель: Файл "/usr/local/Cellar/python/3.7.5/Frameworks/ Python .framework / Versions / 3.7 / lib / python3 .7 / concurrent / futures / init .py ", строка 43, в getattr из .process import ProcessPoolExecutor as pe Файл "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/concurrent/futures/process.py", строка 53, в импорте мультипроцессинг в формате MP File "/ Users / Jia ngxu / PycharmProjects / Assign_compartment / multiprocessing.py ", строка 14, с concurrent.futures.ProcessPoolExecutor () в качестве исполнителя: файл" /usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions /3.7/lib/python3.7/concurrent/futures/init.py ", строка 43, в getattr из .process import ProcessPoolExecutor as pe ImportError: невозможно импортировать имя ' ProcessPoolExecutor 'из' concurrent.futures.process '(/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/concurrent/futures/process. py)
Процесс завершен с кодом выхода 1
и что случилось?