今天遇到一个问题,自己把测试脚本命名成了pyodbc,然后运行就一直不通过,报的错误是找不到pyodbc模块中connect属性
,一直搞了半个小时也没有解决;
最后发现不是脚本代码的问题,而是脚本命名的问题,如果自己的测试脚本命名成pyodbc,则在import这个模块的时候就是引
用的自己,而自己的测试脚本中又没有定义这个方法,所以就会报错,更改命名之后发现还是有问题,发现在引用自己的时候
会编译生成一个pyodbc.pyc文件,这是刚才自己测试脚本的字节码保存文件,必须删除这个即可。
这个问题的教训是,在进行脚本命名的时候一定要特别注意,不能和系统内置模块重名,也不能和第三方模块重名,就像c++中
命名头文件一样,编译器有一定的搜索顺寻,一般是优先搜索当前目录,这样就会造成莫名奇妙的问题。
版权声明:本文为gukesdo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。