这个命令“sudo pip3 install name-of-the-file.whl”有什么作用?

这个命令“sudo pip3 install name-of-the-file.whl”有什么作用?

我知道这sudo是一个用于管理员任务的命令,例如安装或卸载程序。

我从这个命令中不明白的是:

sudo pip3 install name-of-the-file.whl

pip3,它可能是 的一个参数sudo,但是它有什么用呢?

我使用的是 Mac OSX 10.9.5。

答案1

该命令sudo是一个前端程序,它接受参数、开关和命令。大多数命令可以接受参数和开关,但有些命令可以接受其他命令来运行。如果愿意的话,可以将它们视为包装。

因此,sudo将创建一个全新的 Bash 实例(以 root 身份提升权限),然后运行您提供的命令。

所以在这种情况下sudo是运行程序pip3+它后面出现的所有参数。这些论点是为了pip3,而不是为了sudo笔记:当您看到以下内容时,请记住此模板sudo

$ sudo <switches> "<command> <command's arguments + switches>"

那么pip3是什么?

当您不确定命令的用途时,命令本身通常蕴藏着丰富的信息。大多数都会为您提供一个简短的概要,说明如何使用它们以及使用开关运行它们时它们会做什么--help。这可能会有所不同,有时-help甚至是-h

我没有pip3安装,但是我已经安装了pip2。它们实际上是相同的工具,但pip3版本较新。

$ pip2 --help

Usage:   
  pip <command> [options]

Commands:
  install                     Install packages.
  uninstall                   Uninstall packages.
  freeze                      Output installed packages in requirements format.
  list                        List installed packages.
  show                        Show information about installed packages.
  search                      Search PyPI for packages.
  zip                         Zip individual packages.
  unzip                       Unzip individual packages.
  bundle                      Create pybundles.
  help                        Show help for commands.

General Options:
  -h, --help                  Show help.
  -v, --verbose               Give more output. Option is additive, and can be used up to 3 times.
  -V, --version               Show version and exit.
  -q, --quiet                 Give less output.
  --log <file>                Log file where a complete (maximum verbosity) record will be kept.
  --proxy <proxy>             Specify a proxy in the form [user:passwd@]proxy.server:port.
  --timeout <sec>             Set the socket timeout (default 15 seconds).
  --exists-action <action>    Default action when a path already exists: (s)witch, (i)gnore, (w)ipe, (b)ackup.
  --cert <path>               Path to alternate CA bundle.

该图--help向我们展示了该工具可以执行的命令和开关,但没有告诉我们它的作用。让我们看看它在哪里。为此,您可以使用以下type命令:

$ type -a pip2
pip2 is /usr/bin/pip2
pip2 is /bin/pip2

请注意,它位于/usr/bin和中/bin。这表明我们的包管理器安装了这个工具。在基于 Red Hat 的发行版上,您可以使用它rpm来查找此可执行文件pip2属于哪个包。

$ rpm -qf /bin/pip2
file /bin/pip2 is not owned by any package

有趣的是,这个可执行文件没有作为我系统的包管理工具rpm.

那么现在怎么办?

好吧,我们离死还很远。让我们看看系统是否可以给我们任何关于安装了什么的额外提示pip2

大多数 Linux 发行版都附带mlocate一个工具,可以定期为硬盘上的所有文件构建索引。因此,我们可以搜索pip2以获取其碎片可能潜伏的其他位置的线索。

$ locate pip2
/usr/bin/pip2
/usr/bin/pip2.7

所以我们知道安装了 2 个版本:2 和 2.7。但这并没有多大帮助,所以让我们把网撒得更大一点,寻找pip.此外,我们将对结果进行一些过滤,只得到以pip.我们将用来grep做这件事。

$ locate pip | grep 'pip$'
/home/saml/.pip
/home/saml/dotfiles/.pip
/home/saml/dotfiles/.pyenv/shims/pip
/home/saml/dotfiles/.pyenv/versions/3.2.5/bin/pip
/home/saml/dotfiles/.pyenv/versions/3.2.5/lib/python3.2/site-packages/pip-1.3.1-py3.2.egg/pip
/opt/ec2-api-tools/bin/ec2apip
/opt/ec2-api-tools/bin/ec2upip
/usr/bin/pip
/usr/bin/python-pip
/usr/lib/python2.7/site-packages/pip

大奖!

最后!一些有用的信息。pip2是我们安装Python时使用的一个工具。因此,如果我们去 Google 查找“pip python”:

哦!pip2是 Python 的包管理器。

该命令正在.whl为我们的 Python 安装安装一个文件。

相关内容