我已经安装了Python 3.5附带的Lubuntu 16.04 LTS,但是使用Python 2.7作为默认的Python解释器。
两个版本都没有安装pip
包。我只会使用3.5版本。所以我已经安装了pip3
:
$ sudo apt-get install python3-pip
然后我尝试更新pip
版本(因为Ubuntu存储库有旧版本):
$ pip3 install --upgrade pip3
但pip3
无法找到pip3
个包裹,并将此消息发送给我:
收集pip3
找不到满足的版本 要求pip3(来自版本:)未找到匹配的分发 PIP3
之后,我尝试了另一个:
$ pip3 intall --upgrade pip
它从pip 8.1.1更新到pip 8.1.2
来自/home/trimax/.local/lib/python3.5/site-packages(python)的8.1.2 3.5)
如果我试试这个:
$ pip -V
不能工作:
该计划' pip'目前尚未安装。你可以安装它 输入:sudo apt-get install python-pip
但如果我试试这个:
$ python3 -m pip -V
有效:
来自/home/trimax/.local/lib/python3.5/site-packages(python)的8.1.2 3.5)
问题是为什么将pip
作为模块运行而不是作为脚本运行?
答案 0 :(得分:3)
pip3实际上是python3的pip包。由于python2和python3都可以共存,因此3.5的pip包重命名为pip3以避免冲突。 (由包管理员)。
任何软件包的升级语法是
easy_install-3.5 -U pip
并且pipy中的包名称为 pip 。这就证明了为什么你必须提供pip作为包名称和 NOT pip3 。
在某种程度上是一个相关的注释,你也可以使用下面的内容来升级pip或任何包。
{
"mappings": {
"series": {
"properties": {
"name": { "type": "string" },
"books": {
"type": "nested",
"properties": {
"title": { "type": "string" },
"page_count": { "type": "integer" }
}
}
}
}
}
}
答案 1 :(得分:0)
PEP 394描述了Python二进制文件的命名,根据其建议,系统中有pip3
,因为pip
是为Python 2.x pip保留的。
当然,您可以将pip
设为pip3
,但不建议这样做。