今天在写多线程,好好的代码,用命令行就可以运行,用IDE就是不能运行,报的错误是AttributeError: 'module' object has no attribute 'Thread',我用的是threading.Thread()这个函数。
我就奇怪了,Google了好久,走了各种弯路,重装了几次python,终于发现了这个坑爹的问题!
在IDE中我创建了一个项目,名字就叫Thread,没错,跟函数的名字一模一样,这个时候IDE会先导入这个,于是就果断报错了。。。。所以千万不要把项目或者文件名命成内部方法中的名字。一定要注意!
本文记录了一次在IDE环境下因项目命名与内置函数名冲突而导致的多线程运行错误经历。作者发现当项目命名为'Thread'时,与Python标准库中的threading模块中的Thread类发生冲突,导致无法正常运行多线程程序。
1438

被折叠的 条评论
为什么被折叠?



