由于包名与引用的库名相同导致的报错

# 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库的名称一样,修改之后运行成功

错误的包名:

改成其他名称

 

结论:在创建包名,文件名时不要使用引用的库名

 

posted on 2017-03-06 15:57  miss_林  阅读(662)  评论(0编辑  收藏  举报

导航