今天遇到一个问题,自己把测试脚本命名成了pyodbc,然后运行就一直不通过,报的错误是找不到pyodbc模块中connect属性
,一直搞了半个小时也没有解决;
最后发现不是脚本代码的问题,而是脚本命名的问题,如果自己的测试脚本命名成pyodbc,则在import这个模块的时候就是引
用的自己,而自己的测试脚本中又没有定义这个方法,所以就会报错,更改命名之后发现还是有问题,发现在引用自己的时候
会编译生成一个pyodbc.pyc文件,这是刚才自己测试脚本的字节码保存文件,必须删除这个即可。
这个问题的教训是,在进行脚本命名的时候一定要特别注意,不能和系统内置模块重名,也不能和第三方模块重名,就像c++中
命名头文件一样,编译器有一定的搜索顺寻,一般是优先搜索当前目录,这样就会造成莫名奇妙的问题。
本文讲述了因测试脚本命名为pyodbc导致的模块引用错误及解决过程。作者分享了避免脚本命名与系统或第三方模块重名的重要性。

724

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



