我已经安装了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 3.5)的pip 8.1.2
如果我试试这个:
$ pip -V
不起作用:
目前尚未安装程序'pip' . 您可以通过输入以下命令安装它:sudo apt-get install python-pip
但如果我试试这个:
$ python3 -m pip -V
这样可行:
来自/home/trimax/.local/lib/python3.5/site-packages(python 3.5)的pip 8.1.2
问题是 Why runs pip as module but not as script?
2 回答
pip3实际上是python3的pip包 . 由于python2和python3都可以共存,因此3.5的pip包重命名为pip3以避免冲突 . (由包管理员) .
任何包的升级语法是
并且包名称是pipy中的 pip . 这就证明了为什么你必须提供pip作为包名称和 NOT pip3 .
在某种程度上是一个相关的注释,你也可以使用下面的内容来升级pip或任何包 .
PEP 394描述了Python二进制文件的命名,并根据其建议,系统中有
pip3
,因为pip
是为Python 2.x pip保留的 .当然你可以将
pip
别名为pip3
,但不建议这样做 .