首页 文章

为什么运行'pip'作为Python 3模块而不是脚本?

提问于
浏览
0

我已经安装了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 回答

  • 3

    pip3实际上是python3的pip包 . 由于python2和python3都可以共存,因此3.5的pip包重命名为pip3以避免冲突 . (由包管理员) .

    任何包的升级语法是

    <script_name_for_pip> install --upgrade <package_name>
    

    并且包名称是pipy中的 pip . 这就证明了为什么你必须提供pip作为包名称和 NOT pip3 .

    • pip -v不存在't work because pip executable doesn' .

    在某种程度上是一个相关的注释,你也可以使用下面的内容来升级pip或任何包 .

    easy_install-3.5 -U pip
    
  • 0

    PEP 394描述了Python二进制文件的命名,并根据其建议,系统中有 pip3 ,因为 pip 是为Python 2.x pip保留的 .

    当然你可以将 pip 别名为 pip3 ,但不建议这样做 .

相关问题