Python2下ImportError: cannot import name 'urlopen'问题解决
2017-02-27 18:20
1051 查看
1. 问题的提出
在执行python代码的过程中,本来执行正常的代码,在另外一台机器上,却报出了如下错误:
Traceback (most recent call last):
File "<ipython-input-1-d9b40fca9cb0>", line 1, in <module>
from urllib import urlopen; #载入urllib.request,用于获取页面html源代码 在Python代码中使用了如下语句了,导入urlopen方法:
突然灵光一闪,会不时是由于python的版本不同造成的,经过检查一看,果然如此,两者的python版本不一致。
上述代码在Python 2.x下可以正确执行的,在Python 3.x下是会报出上述错误的。
在了解问题的根源之后,我们就可以知道问题的解决办法了。经过分析发现,在从Python 2向Python 3迁移的过程中, urllib的包重新进行了设计和调整,故两者在不同的Python下是不兼容的。
在Python 3下正确的用法是: from urllib.request import urlopen
3. Python 2 vs Python 3 由于Python 2和Python 3版本之间的不兼容性,导致了非常多的类似问题,故在处理Python代码之时,需要注意必须运行在特定的Python版本上。
在执行python代码的过程中,本来执行正常的代码,在另外一台机器上,却报出了如下错误:
Traceback (most recent call last):
File "<ipython-input-1-d9b40fca9cb0>", line 1, in <module>
from urllib import urlopen; #载入urllib.request,用于获取页面html源代码 在Python代码中使用了如下语句了,导入urlopen方法:
from urlib import urlopen上述代码在另外一台机器上执行很好的, 为什么在此台机器上却报出错误信息呢?2. 问题分析与解决
突然灵光一闪,会不时是由于python的版本不同造成的,经过检查一看,果然如此,两者的python版本不一致。
上述代码在Python 2.x下可以正确执行的,在Python 3.x下是会报出上述错误的。
在了解问题的根源之后,我们就可以知道问题的解决办法了。经过分析发现,在从Python 2向Python 3迁移的过程中, urllib的包重新进行了设计和调整,故两者在不同的Python下是不兼容的。
在Python 3下正确的用法是: from urllib.request import urlopen
3. Python 2 vs Python 3 由于Python 2和Python 3版本之间的不兼容性,导致了非常多的类似问题,故在处理Python代码之时,需要注意必须运行在特定的Python版本上。
相关文章推荐
- 解决bs4在Python 3.6下出现“ImportError: cannot import name 'HTMLParseError'”错误
- 解决ImportError:cannot import name xmlrpc_client问题
- ImportError: cannot import name ABCMeta 问题解决
- 解决bs4在Python 3.5下出现“ImportError: cannot import name 'HTMLParseError'”错误
- 解决 ImportError: cannot import name imsave 的报错问题
- python MySQLdb ImportError: cannot import name conversions 解决办法
- python中调用 imread 报错: ImportError: cannot import name imread
- carbon报错 Python Error - ImportError: cannot import name daemonize
- 安装comtypes 0.6.2时ImportError: cannot import name DistutilsOptionError 解决办法
- [Django]ImportError:cannot import name debug问题
- 解决java调用python的Cannot import site module and its dependencies: No module named site问题
- 关于python "ImportError: cannot import name quotes_historical_yahoo" 问题
- 解决问题:ImportError: cannot import name MAXREPEAT
- Python ImportError: cannot import name *
- [Django]ImportError:cannot import name debug问题
- python import eventlet包时提示ImportError: cannot import name eventlet
- Python安装gif库:cannot import name 'readGif'解决方法
- 解决ImportError: cannot import name webdriver
- [Django]ImportError:cannot import name debug问题
- python 错误: ImportError: cannot import name xxx