小弟萌新,请教下大佬,这三行 Python 代码有问题么,为什么报错说 module' object has no attribute 'Request'

2019-09-13 22:13:43 +08:00
 xduanx

描述

很奇怪,有时候不报错,有时候报错,今天一直无法运行通过,前几天还好好的呢

小弟网上查了一圈,基本上给的方法就是 import urllib2.Request

但这样在 import 时,ide 就给出错误提示了

环境

ide:PyCharm 2019.2.2 (Community Edition)

python:Python 2.7.15+

OS:Ubuntu 18.04.2 LTS

截图

![code and error]( https://imgchr.com/i/ns3bjg ''code and error'')

2554 次点击
所在节点    程序员
7 条回复
xduanx
2019-09-13 22:31:01 +08:00
小弟在 ipython 下运行没有问题;
直接在系统里执行 python2.7 ssl.py 报同样错误;
下午一直在学习爬虫,一直没问题,准备在吃饭前试下 ssl 的,结果执行同样代码就遇到这个问题了。
xiaxiaopa
2019-09-13 22:34:43 +08:00
把你的 ssl.py 重命名为 ssl1.py ,应该是这个问题吧,我也是萌新
xduanx
2019-09-13 22:58:10 +08:00
@xiaxiaopa 感谢这位同为萌新的哥哥,果然好了
同时我的另一个叫做 mm.py 的文件原来报同样的错,现在也可以正常运行了
jakezh
2019-09-13 22:59:52 +08:00
看一下用的是什么 interpreter
xduanx
2019-09-13 23:08:26 +08:00
@jakezh
解析器
Name: Python 2.7 (spider_1)
Interpreter path: /home/cloud/PycharmProjects/spider_1/venv/bin/python
cherbim
2019-09-14 16:02:07 +08:00
此时一位半萌新低调路过,友情提示一定要注意命名,
urllib2 里会自动 import ssl,你的项目名字是 ssl.py ,默认不会 import 标准库里的 ssl,会 import 你的项目,然后你的项目里没有 Request,所以就出现了 no attribute “Request”
veightz
2019-09-14 18:08:07 +08:00
这个是 python 的一个大坑。。。取名要小心,除了 ssl 外,http,request 之类的通用名词都要避开,以免屏蔽了标准库或者三方库

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/600694

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX