Windows 上的 Spyder 中未显示多处理工作人员的打印件
Prints of multiprocessing workers don't show in Spyder on Windows
我正在尝试使用 Python 和一些示例代码进行一些多处理,我可以让它在 Python 中工作,但不能在 Spyder 中使用 IPython.
我有一个 python 文件:test.py
它包含此示例代码:
import multiprocessing
def worker():
"""worker function"""
print( 'Worker')
return
if __name__ == '__main__':
print('run this code')
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker)
jobs.append(p)
p.start()
我正在使用 Python 的 Anaconda3 发行版。如果我转到 Anaconda 提示符并键入:
python test.py
代码按预期工作。
而且,如果我用 IPython 尝试同样的事情:
IPython test.py
代码再次生效!!
不过,我喜欢在 Anaconda3 附带的 Spyder IDE 中进行开发。而在 Spyder 中,控制台是 IPython.
如果我在带有 IPython 控制台的 Spyder 中 运行 test.py,我得到 run this code
打印到控制台,但是没有执行多处理功能并且有没有错误报告。
知道这里发生了什么吗?
(这里是 Spyder 维护者) 这个问题已经被问过好几次了,Spyder multiprocessing
的第一个 Google 结果给了你正确的答案:
这是我自己回答的另一个问题:
我正在尝试使用 Python 和一些示例代码进行一些多处理,我可以让它在 Python 中工作,但不能在 Spyder 中使用 IPython.
我有一个 python 文件:test.py
它包含此示例代码:
import multiprocessing
def worker():
"""worker function"""
print( 'Worker')
return
if __name__ == '__main__':
print('run this code')
jobs = []
for i in range(5):
p = multiprocessing.Process(target=worker)
jobs.append(p)
p.start()
我正在使用 Python 的 Anaconda3 发行版。如果我转到 Anaconda 提示符并键入:
python test.py
代码按预期工作。
而且,如果我用 IPython 尝试同样的事情:
IPython test.py
代码再次生效!!
不过,我喜欢在 Anaconda3 附带的 Spyder IDE 中进行开发。而在 Spyder 中,控制台是 IPython.
如果我在带有 IPython 控制台的 Spyder 中 运行 test.py,我得到 run this code
打印到控制台,但是没有执行多处理功能并且有没有错误报告。
知道这里发生了什么吗?
(这里是 Spyder 维护者) 这个问题已经被问过好几次了,Spyder multiprocessing
的第一个 Google 结果给了你正确的答案:
这是我自己回答的另一个问题: