您的位置:首页 > 编程语言 > Python开发

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方法:
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版本上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: