当前位置: 首页 > 知识库问答 >
问题:

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

南门宇
2023-03-14

我已经安装了Python 3.5附带的Lubuntu 16.04 LTS,但使用Python 2.7作为默认的Python解释器。< br >两个版本都没有安装< code>pip包。我只会使用3.5版本。因此,我安装了< code>pip3,其中包含:

$ sudo apt-get install python3-pip

然后我尝试更新pip版本(因为Ubuntu存储库有旧版本):$ pip3安装--升级pip3但是pip3找不到pip3包,并给我发了这条消息:

收集pip3<br>找不到满足要求pip3的版本(来自版本:)找不到与pip3匹配的发行版

之后,我尝试了另一个:

$ pip3 intall --upgrade pip

它从点数 8.1.1 更新到点数 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

问题是为什么将< code>pip作为模块而不是脚本运行?

共有2个答案

步弘和
2023-03-14

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

当然,您可以将<code>pip,但不建议这样做。

陶英纵
2023-03-14

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

任何包的升级语法都是

<script_name_for_pip> install --upgrade <package_name>

包装名称是 pip in pipy。这就证明了为什么您必须提供pip作为包名称而不是pip3。

  • pip -v 不起作用,因为 pip 可执行文件不存在。

某种程度上是一个相关的说明,你也可以使用下面的升级pip或任何软件包。

easy_install-3.5 -U pip  
 类似资料:
  • 我正在尝试制作两个程序。我希望一个打印我居住的城市的当前天气,我希望另一个从一个在线帐户获取数据并返回它。对于这些脚本,我导入了天气模块和请求模块。当我在shell中导入它们时,没有问题,但是当我运行脚本时,它说“ImportError:No module name you weather”。我做错了什么? 壳牌: 脚本: 这也适用于“天气”模块 谢谢你

  • 包括目录中的所有模块,而中的模块通过包括 在运行时,上面的操作很好。但是,和也作为它们自己的脚本工作,但是运行会出现错误 从导入中删除可以使各个脚本正常工作,但主脚本找不到。 我如何使导入对主程序和单个模块都起作用?

  • 我有一个html表单和PHP文件作为它的动作。当我点击提交按钮,它运行PHP代码,但也加载一个空白页面和url的变化。 我怎么能只是运行代码和停留在同一个html页面?

  • 问题内容: 我了解,当您导入模块时,该文件会被编译成文件以使其更快吗?为什么主文件也没有编译为?这会减慢速度吗?那么将主文件保持得尽可能小会更好,还是没关系? 问题答案: 加载模块时,会将py文件“字节编译”为pyc文件。时间戳记录在pyc文件中。 这样做不是为了使其运行更快,而是使其加载更快。 因此,在加载模块时“字节编译”模块是有意义的。 http://docs.python.org/tuto

  • 我今天想使用,但出现了如下错误: 所以我想我应该清除并重新安装(如下所示)https://www.rosehosting.com/blog/how-to-install-pip-on-ubuntu-16-04/)但仍然得到: 我怎样才能提高我的水平