Что это управляет, чтобы “sudo pip3 установил name-of-the-file.whl”, делают?

Если родительский поток будет уничтожен то перед его дочерним потоком весь дочерний поток станет процессами-зомби.

2
21.08.2018, 03:42
1 ответ

Команда sudo является фронтэнд-программой, которая принимает аргументы, переключатели и команды. Большинство команд могут принимать аргументы и переключатели, но некоторые могут выполнять другие команды. Подумайте о них как об обертках, если хотите.

Поэтому sudo создаст совершенно новый экземпляр Bash (с повышенными привилегиями в качестве корня), а затем выполнит предоставленную команду.

Поэтому в этом случае 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 distros поставляются с 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.

4
27.01.2020, 22:00

Теги

Похожие вопросы