sudo
프로그램 설치나 제거와 같은 관리 작업에 사용되는 명령이라는 것을 알고 있습니다 .
이 명령에서 내가 이해하지 못하는 것은 다음과 같습니다.
sudo pip3 install name-of-the-file.whl
예 pip3
, 의 매개변수일 수 있습니다 sudo
. 그런데 어떤 용도로 사용되나요?
저는 Mac OSX 10.9.5를 사용하고 있습니다.
답변1
명령은 sudo
매개변수, 스위치 및 명령을 받아들이는 프런트엔드 프로그램입니다. 대부분의 명령은 인수와 스위치를 허용할 수 있지만 일부 명령은 실행할 다른 명령을 허용할 수 있습니다. 원한다면 패키지로 생각하세요.
따라서 sudo
새로운 Bash 인스턴스가 생성되고(루트 권한으로 상승된 권한으로) 제공한 명령이 실행됩니다.
따라서 이 경우에는 sudo
실행 중인 프로그램 pip3
+ 그 뒤에 오는 모든 인수입니다. 이러한 인수는 for pip3
가 아니라 for 입니다 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.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 설치를 위한 파일을 설치합니다.