我的Python应用程序在Windows和OS X / macOS上成功运行...在Ubuntu上,但是,我收到了一个Tcl_AsyncDelete错误!
我知道使用Tk在Python中如何使用线程,并且只能从主线程访问Tk,但是当我的逻辑线程尝试使用urllib.urlopen
打开URL时,错误会突然出现并且Python会发生混乱。删除urlopen
调用以测试它后,程序不会崩溃。发生在Python 2和Python 3上。
以下是我项目的代码:
我尽我所能,将日志级别设置为DEBUG(在我的代码中),使用pdb调试应用程序......没有有用的信息。
不从单独的线程访问Tk或在线程内运行的问题--Tk在主线程内运行,并且与逻辑线程的所有通信都通过共享队列进行。
或许我错过了什么?提前谢谢!
答案 0 :(得分:0)
问题是Rails.application.config.assets.precompile += %w( LogIn.scss )
在ActionView::Template::Error (undefined method `[]' for nil:NilClass):
而非get_IP_data()
中运行,因为该函数是在Thread-1
内调用的,即使它位于线程本身之外(只是Python的工作方式)......
解决方案是在MainThread
中简单地拨打Thread-1
。但令我困惑的是,get_IP_data()
干扰MainThread
的原因是什么?但除此之外,问题已经解决了。