《python数据分析基础》:[Errno 11004] getaddrinfo failed

《python数据分析基础》第6.4 seaborn的第三个图“成对变量之间的散点图与单变量直方图”

'''成对变量散点图和单变量直方图'''
iris = sns.load_dataset('iris')
sns.pairplot(iris)

在写这个代码时就存在一个疑惑,这个图的代码怎么没有数据或者说值,其他的可视化的图都会有值的导入,即使没有现成数据,也会使用pandas进行随机生成,例如

mean, cov = [5, 10], [(1, .5), (.5, 1)]
data = np.random.multivariate_normal(mean, cov, 200)
print(data)

《python数据分析基础》:[Errno 11004] getaddrinfo failed_第1张图片
但是这里的不存在值,后来发现这个值是通过网络连接seaborn-data导入的
《python数据分析基础》:[Errno 11004] getaddrinfo failed_第2张图片
《python数据分析基础》:[Errno 11004] getaddrinfo failed_第3张图片
而在此处就遇到了这个问题
当我使用plt.show()时出现报错

urllib.error.URLError: 

《python数据分析基础》:[Errno 11004] getaddrinfo failed_第4张图片

指向requests.py的第1319行

File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\urllib\request.py", line 1319, in do_open
raise URLError(err)

原本以为是seaborn与requests之间对于方法名称的不一致,但是requests一直在用都没有问题,而报错中没有提到seaborn的错误,其错误直接指向requests
《python数据分析基础》:[Errno 11004] getaddrinfo failed_第5张图片
于是我对requests.py进行了修改,将raise URLError(err)注释掉并添加pass

        try:
        try:
            h.request(req.get_method(), req.selector, req.data, headers,
                      encode_chunked=req.has_header('Transfer-encoding'))
        except OSError as err: # timeout error
            pass
            #raise URLError(err)
        r = h.getresponse()
    except:
        h.close()
        raise

但是没有效果,报错:

AttributeError: 'NoneType' object has no attribute 'makefile'

《python数据分析基础》:[Errno 11004] getaddrinfo failed_第6张图片

经过网上查找,发现许多文章都说[Errno 11004] getaddrinfo failed 是dns的问题,于是我想到之前看到的,seaborn的值值是通过网络连接seaborn-data导入的,因而是不是有可能是在requests seaborn-data时网络的问题或者是被屏蔽了。被屏蔽了就要解除屏蔽。解决屏蔽的方法很简单(但是这个垃圾网站审核不能通过!!!!)
《python数据分析基础》:[Errno 11004] getaddrinfo failed_第7张图片

然而,当我重新测试时有突然可以了,所以可能不是被屏蔽了,而是网络、代理、dns之类的问题。
但是,我再次制作箱线图时,又出现了这个问题,一模一样的报错
《python数据分析基础》:[Errno 11004] getaddrinfo failed_第8张图片
还增加了两个问题

《python数据分析基础》:[Errno 11004] getaddrinfo failed_第9张图片
和这个urllib.error.URLError:

《python数据分析基础》:[Errno 11004] getaddrinfo failed_第10张图片

结论:看来这可能不是dns,而是被屏蔽了,后两个问题并不是问题,只是屏蔽和网络延迟导致的问题

现在成功了

《python数据分析基础》:[Errno 11004] getaddrinfo failed_第11张图片

[1] https://blog.csdn.net/jiangyunsheng147/article/details/79420515? ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158822468019724846460925%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.57662%2522%257D&request_id=158822468019724846460925&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog 2allfirst_rank_v2~rank_v25-2

你可能感兴趣的:(requests,python数据分析基础,笔记,数据分析,数据可视化)