我在Spyder中运行一个脚本,它利用多线程库和IPython控制台冻结下面的输出。但是,使用Windows命令提示符通过' python quickstart11.py'运行脚本。工作正常并产生适当的输出。
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位安装程序。
答案 0 :(得分:0)
问题在于Spyder。内核以解释模式运行,并添加&#34; freeze_support&#34;在其他事情发生之前不会发生,即使这是意图,因为内核已经在运行。