vscode中的python-can';我不能让多重处理工作

vscode中的python-can';我不能让多重处理工作,python,visual-studio-code,python-multiprocessing,Python,Visual Studio Code,Python Multiprocessing,我对Python并不陌生,但对在Python中使用多处理非常陌生。我更喜欢在vscode中工作,但当我尝试运行一个简单的多处理示例时,它的行为非常奇怪 我正在Windows上运行Python 3.7.2和VSCode版本1.43.0 这是我的档案。首先,呼叫方: ## multi_runner.py import multiprocessing import multi_worker import time if __name__ == '__main__': print('Star

我对Python并不陌生,但对在Python中使用多处理非常陌生。我更喜欢在vscode中工作,但当我尝试运行一个简单的多处理示例时,它的行为非常奇怪

我正在Windows上运行Python 3.7.2和VSCode版本1.43.0

这是我的档案。首先,呼叫方:

## multi_runner.py

import multiprocessing
import multi_worker
import time

if __name__ == '__main__':
    print('Starting the jobs.')
    jobs = []
    for i in range(5):
        p = multiprocessing.Process(
            target=multi_worker.worker
        )
        jobs.append(p)
        p.start()
    while any(job.is_alive() for job in jobs):
        print('sleeping')
        time.sleep(1)
    print('All done.')
工人:

## multi_worker.py

import multiprocessing
import sys

def worker():
    """worker function"""
    print(f'Worker')
    return
当我在命令行上运行此命令时,一切都按照您期望的方式运行:

(venv) C:\multiexample>python multi_runner.py
Starting the jobs.
sleeping
Worker
Worker
Worker
Worker
Worker
All done.
但当我在VSCode调试器中运行它时,它似乎永远不会屈服于工作人员,我必须杀死它来结束它:

(venv) PS C:\multiexample>  ${env:PTVSD_LAUNCHER_PORT}='52842'; & 'c:\multiexample\venv\Scripts\python.exe' 'c:\Users\myuser\.vscode\extensions\ms-python.python-2020.2.64397\pythonFiles\lib\python\new_ptvsd\wheels\ptvsd\launcher' 'c:\multiexample\multi_runner.py'
    Starting the jobs.
    sleeping
    sleeping
    sleeping
    sleeping
    sleeping
    sleeping
    sleeping
    sleeping
    sleeping
    <... forever ...>

有没有办法在VSCode中实现这一点?

您可以获得Pycharm的社区版,它将帮助您在配置VS代码时无需麻烦地进行调试–

VS代码有很多优点。。对于某些特定任务,请使用Pycharm之类的专用编辑器。请尝试中概述的最新调试器,看看这是否解决了问题。
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}