需要为Python 3.5.1安装urllib2


100

我正在为Mac运行Python 3.5.1。我想使用urllib2模块。我尝试安装它,但被告知它已被拆分成Python 3 urllib.request并urllib.error用于Python 3。

我的命令(现在不在框架bin目录中运行,因为它不在我的路径中):

sudo ./pip3 install urllib.request

返回此:

Could not find a version that satisfies the requirement urllib.request (from versions: )
No matching distribution found for urllib.request

在尝试一口气安装之前,我遇到了同样的错误urllib2。


2
您不能仅导入urllib.requestPython程序吗?
— michaelpri

3
urllib.request是标准库的一部分,不需要安装。
— Daniel Roseman


urllib的是性病库的一部分,但它包含了只有解析包,我没能找到该请求....
— 德文德拉·巴特

Answers:


169

警告:安全性研究发现 PyPI上有多个中毒的软件包,包括名为的软件包urllib,安装后会“打电话回家”。如果您pip install urllib在2017年6月之后使用了一段时间,请尽快删除该软件包。

您不能,也不需要。

urllib2是Python 2中包含的库的名称。您可以改用Python 3中包含的urllib.request库。该urllib.request库的工作方式与urllib2在Python 2中的工作方式相同。由于已经包含该库,因此您无需安装它。

如果您正在遵循的教程告诉您使用方法,urllib2那么您会发现遇到更多问题。您的教程是针对Python 2编写的,而不是针对Python 3编写的。找到其他教程,或者安装Python 2.7并继续该版本的教程。您会发现urllib2该版本随附。

或者,安装该requests库以获得更高级别且更易于使用的API。它可以在Python 2和3上使用。


24
谢谢,然后我可以使用:import urllib.request as urllib2
— MewX

所以pip不会针对恶意软件进行管理?
— igor

3
@igor:pip是一种命令行工具,可以从任何地方发现和加载程序包。PyPI.org,默认的包索引pip将被使用,未被审核。Python Software Foundation是一个由志愿者运营的组织,甚至不可能开始减轻涉及的代码量。
— 马丁·彼得斯

谢谢你的抬起头
— 乙朵

28

根据文档:

注意 urllib2模块已拆分为Python 3中名为urllib.request和的多个模块urllib.error。将源转换为Python 3时,2to3工具将自动适应导入。

因此,似乎无法做您想做的事,但您可以使用中的适当python3函数urllib.request。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.