【发布时间】:2016-12-17 11:56:42
【问题描述】:
我在 Spyder 中运行一个脚本,该脚本利用了多线程库,IPython 控制台冻结并显示以下输出。但是,通过“python quickstart11.py”使用 Windows 命令提示符运行脚本可以正常工作并生成正确的输出。
runfile('C:/Python35/User/backtrader-master/docs/quickstart/quickstart11.py', wdir='C:/Python35/User/backtrader-master/docs/quickstart')
Exception in thread Thread-8:
Traceback (most recent call last):
File "C:\Anaconda3\lib\threading.py", line 914, in _bootstrap_inner
self.run()
File "C:\Anaconda3\lib\threading.py", line 862, in run
self._target(*self._args, **self._kwargs)
File "C:\Anaconda3\lib\multiprocessing\pool.py", line 429, in _handle_results
task = get()
File "C:\Anaconda3\lib\multiprocessing\connection.py", line 251, in recv
return ForkingPickler.loads(buf.getbuffer())
AttributeError: Can't get attribute 'TestStrategy' on <module '__main__' (<_frozen_importlib_external.SourceFileLoader object at 0x000002727C461438>)>
我已尝试根据Python doc 添加 freeze_support(),这应该可以缓解问题,但它仍然冻结。怎么回事?
Windows 10 64 位、Anaconda Python 35 64 位安装程序。
【问题讨论】:
标签: python windows multithreading spyder