zoukankan      html  css  js  c++  java
  • No module named 'urllib.request'; 'urllib' is not a package

    想学爬虫urllib的设置代理服务器,于是把之前跳过没学的urllib捡起来,敲了段简单的代码,如下

    import urllib.request
    
    url = "http://www.baidu.com"
    data = urllib.request.urlopen(url).read()
    data = data.decode('UTF-8')
    print(data)

    然而执行后总是报错:

    Traceback (most recent call last):
      File "urllib.py", line 1, in <module>
        import urllib.request
      File "F:pythonurllib.py", line 1, in <module>
        import urllib.request
    ImportError: No module named 'urllib.request'; 'urllib' is not a package

    尝试过用 from urllib import request,pip install urllib(想想好傻,urllib是python内置的库)

    还是同样问题、保存py文件之后运行就提示 ImportError: No module named request。

    但在python shell里面运行就正常。

    多方查找,发现是个太傻x的错误。

    原来是我的文件命名的问题

     系统搜索模块的优先顺序是:程序主目录,然后是系统环境变量定义的路径,然后才是标准库目录。 如果按这个顺序找到了,当然就不再向下找了。因为文件名正好是urllib,本意想导入标准库目录下的urllib,结果把自己的当前文件导入了。

    反思:

    最开始在stackoverflow查到了,但看到问题背景是2.7版本的,就没继续往下看,坚定的认为是urllib的应用方法不对,认为不是3.6就没有参考价值。

    跟头摔得惨,要长记性,1.任何地方都可能出错误 2.python2.7 和 3.x 代码有不同处,但出错问题原因可能一样。

  • 相关阅读:
    python征程1.4(初识python)
    python征程1.3(初识python)
    python征程1.2(初识python)
    python征程1.1(初识python)
    什么是servlet
    什么是JavaBean
    基于Ajax的前后端分离
    项目开发流程
    项目框架和项目架构
    Java中使用 foreach 操作数组
  • 原文地址:https://www.cnblogs.com/liangmingshen/p/9958573.html
Copyright © 2011-2022 走看看