Когда я запускаю следующий скрипт на компьютере Windows, я не вижу никаких сообщений журнала из функции log_pid < / code>, однако я делаю, когда работаю на Unix / Mac. Я прочитал до того, как эта многопроцессорная передача отличается от Windows по сравнению с Mac, но мне не ясно, какие изменения я должен внести, чтобы заставить этот скрипт работать в Windows. Я запускаю Python 3.6. < /P>
import logging
import sys
from concurrent.futures import ProcessPoolExecutor
import os
def log_pid(x):
logger.info('Executing on process: %s' % os.getpid())
def do_stuff():
logger.info('this is the do stuff function.')
with ProcessPoolExecutor(max_workers=4) as executor:
executor.map(log_pid, range(0, 10))
def main():
logger.info('this is the main function.')
do_stuff()
if __name__ == '__main__':
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
logger = logging.getLogger(__name__)
logger.info('Start of script ...')
main()
logger.info('End of script ...')
Подробнее здесь: https://stackoverflow.com/questions/497 ... t-not-on-u