需要为Python 3.5.1安装urllib2

Eam*_*ley 82 python urllib2 python-3.x

我正在运行Python 3.5.1 for Mac.我想用urllib2.我尝试安装它,但我被告知它已被拆分为urllib.request和urllib.error for Python 3.

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

sudo ./pip3 install urllib.request
Run Code Online (Sandbox Code Playgroud)

返回:

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

我在尝试一举安装urllib2之前遇到了同样的错误.

Mar*_*ers 141

警告:安全研究已在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.

  • 谢谢,然后我可以使用:`import urllib.request as urllib2` (17认同)
  • @igor:`pip`是一个命令行工具,可以从任何地方发现和加载软件包。PyPI.org是默认的软件包索引`pip`,不会被审核。Python Software Foundation是一个由志愿者运营的组织,甚至不可能开始减轻所涉及的代码量。 (2认同)

Ary*_*hur 27

在 Python 3 中,urllib2被两个名为urllib.request和的内置模块取代urllib.error

改编自来源


所以替换这个:

import urllib2
Run Code Online (Sandbox Code Playgroud)

有了这个:

import urllib2
Run Code Online (Sandbox Code Playgroud)


Ily*_*rov 23

根据文档:

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

所以似乎不可能完全按照你想要的那样做,但你可以使用适当的python3函数urllib.request.