由于包名与引用的库名相同导致的报错
# coding:utf-8 import requests url = 'http://httpbin.org/ip' url_get = 'http://httpbin.org/get' def requests1Test(): respones = requests.get(url) print "---->Response Headers:" print respones.headers print "---->Response Body:" print respones.text if __name__ == "__main__": requests1Test()
在pycharm中运行出现以下报错:AttributeError: 'module' object has no attribute 'get'
1.查看导入的包是否安装了(安装无误pass)
2.查找网上解决方法:
这其实是.pyc文件存在问题,问题定位:
查看import库的源文件,发现源文件存在且没有错误,同时存在源文件的.pyc文件
问题解决方法:
(1). 命名py脚本时,不要与python预留字,模块名等相同
(2). 删除该库的.pyc文件(因为py脚本每次运行时均会生成.pyc文件;在已经生成.pyc文件的情况下,若代码不更新,运行时依旧会走pyc,所以要删除.pyc文件),重新运行代码;或者找一个可以运行代码的环境,拷贝替换当前机器的.pyc文件即可
但是改了xx.py的名称也没用
3.最后发现包名与import库的名称一样,修改之后运行成功
错误的包名:
改成其他名称
结论:在创建包名,文件名时不要使用引用的库名