使用Keras实现Word2Vec时遇urllib/urllib3无urlretrieve属性错误的解决方法
解决
AttributeError: module 'urllib' has no attribute 'urlretrieve'问题 别担心,这个问题是Python版本差异导致的urllib模块结构变化,我给你一步步捋清楚怎么解决:
问题根源:Python 2里
urllib.urlretrieve()是直接可用的,但Python 3把这个方法移到了urllib.request子模块里。而你尝试替换的urllib3是一个第三方HTTP库,它本身就没有urlretrieve这个方法,所以换urllib3根本没用。解决方案1:使用标准库的正确路径
先在代码开头导入正确的模块:import urllib.request然后把报错的代码行修改为:
filename, _ = urllib.request.urlretrieve(url + filename, filename)解决方案2:简化写法(推荐)
如果想让代码更简洁,可以直接导入urlretrieve方法:from urllib.request import urlretrieve之后代码里直接调用即可:
filename, _ = urlretrieve(url + filename, filename)额外说明:你之前安装的
urllib3在这里用不上,如果你不需要它做其他HTTP操作,可以选择卸载,也可以留着,不会影响当前问题的解决。
内容的提问来源于stack exchange,提问作者Mahsa
相关产品推荐
相关产品推荐

