导入urllib.request时出现ImportError: No module named request错误

38
我正在尝试在Windows 10上的PyCharm 4.5.4中为Python 2.7.10导入urllib.request,但出现错误“ImportError: No module named request”。
7个回答

49

urllib.request模块已被弃用,只需使用

import urllib

如果您之前编写的函数是这样的:

urllib.request.urlretrieve

现在你只需要写就可以了

urllib.urlretrieve

21

我也遇到了相同的错误并搜索谷歌来解决它。 urlib.request 是用于 Python 3.0 的。

您可以使用以下代码:

import urllib
urllib.urlopen(url)

12

如果你试图在Python 2上运行Python 3文件,你将会得到这个错误。


2
尝试在Python3中使用此代码。
try:
    x = urllib.request.urlopen('https://www.google.com/search?q=test')
    print(x.read())

except Exception as e:
    print(str(e))

1
有时候可能会发生这种情况,通常出现在Linux环境下。你已经安装了2.x和3.x版本的Python。

因此,在这种情况下,如果您使用命令 python "file.py"

那么默认情况下,将运行2.x版本的Python文件。

因此,请使用命令 python3 "file.py"

我曾经遇到过这个问题。也许它可以解决某人的问题。


0

试试这个:

#!/usr/bin/env python3
import urllib
response = urllib.urlopen("http://google.com")
html = response.read()
print(html)

第一行“#!/usr/bin/env python3”很重要,因为它让Python知道这是Python 3文件,而不是2。

希望一切顺利。


-2

如果您使用的是Windows机器,可以使用 > Path\easy_install.exe requests 命令。如果已经安装了easy_install,则可以在Python*\Scripts文件夹中找到它。(注意:Path\easy_install.exe只是一个示例,我的路径是C:\Python32\Scripts\easy_install.exe)

如果您没有easy install并且正在运行Windows机器,则可以在此处获取它: http://www.lfd.uci.edu/~gohlke/pythonlibs/#distribute

如果您想要手动将库添加到Windows机器中,可以下载压缩库,解压缩它,然后将其放置在Python路径的Lib文件夹中。

或者

您需要先安装pip,然后使用pip安装django-request

pip install django-request

还要安装,

python setup.py install

然后导入

from urllib.request import urlopen

有用的提示:检查this

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接