Python 3 용 패키지를 설치하려면 pip 또는 pip3?


121

OS X El Captain이 설치된 Macbook이 있습니다. 나는 그것이 Python 2.7미리 설치되어 있다고 생각 합니다. 그러나 나도 설치 Python 3.5했습니다. 를 사용하기 시작했을 때 Python 3패키지를 설치하려면 다음을 입력해야한다고 읽었습니다.

pip3 install some_package

어쨌든 지금 내가 사용할 때

pip install some_package

나는 취득 some_package을 위해 설치 Python 3. 수입해서 문제없이 사용할 수 있다는 뜻입니다. 난 그냥 입력 할 때 또한, pip3Terminal, 나는 사용에 대한이 메시지를 받았습니다 :

Usage:   
  pip <command> [options]

를 입력 할 때받는 것과 동일한 메시지 pip입니다.

이 previos 버전에서 그 의미합니까 상황이 달랐다, 지금 pippip3같은 의미로 사용 할 수있다? 그렇다면 인수를 위해 Python 2대신 패키지를 어떻게 설치할 수 Python 3있습니까?

답변:


74

.NET pip과 동일한 실행 파일 경로에 대한 소프트 링크입니다 pip3. 아래 명령을 사용하여 실제 경로 pippip3실제 경로 를 확인할 수 있습니다 .

$ ls -l `which pip`
$ ls -l `which pip3`

아래 명령을 사용하여 자세한 내용을 알 수도 있습니다.

$ pip show pip
$ pip3 show pip

다른 버전의 Python을 설치할 때 다음과 같은 소프트 링크를 만들 수 있습니다.

  • 기본 pip를 일부 버전으로 설정하십시오.
  • 버전마다 다른 링크를 만드십시오.

그것은과 같은 상황입니다 python, python2,python3

다른 경우에 어떻게 발생하는지에 관심이있는 경우 아래에 자세한 정보가 있습니다.


1
나는 이것이 잘못된 것 같다. 내 pip3는 또한 도움말 출력에서 ​​자체적으로 pip를 호출하지만 일반 pip는 내 시스템에 Python 2 패키지를 설치합니다. 나는 stackoverflow.com/a/40832677/188108 이 정확 하다고 생각 합니다. 적어도 내 관찰에 동의합니다.
Torsten Bronger

그것은 어떤 환경과 당신이 파이썬을 설치하는 방법에 따라 달라집니다. 시스템에서 동일하지 않은 경우에도 동일한 방법을 사용하여 이유를 찾을 수 있습니다. 오답이라는 뜻은 아닙니다.
CSJ

1
의심 스럽다. 나는 Mac이 없지만 테스트 한 Ubuntu 버전에서 pip 변형은 심볼릭 링크가 아닙니다. 대신 shebang 라인에서만 다른 작은 Python 스크립트입니다.
Torsten Bronger

예, 그것이 바로 환경과 파이썬 설치 방식 (brew, apt, pyenv, 수동 컴파일 등)에 따라 달라진다는 의미이며 질문자의 상황에 따라 소프트 링크이기 때문에 그 이유를 사용 ls -l하고 pip show확인합니다. 물론이 대답은 그의 질문에 대답하는 것입니다.
CSJ

질문자의 컴퓨터에 심볼릭 링크가없는 것 같습니다. 나는 pip가 이런 식으로 작동하거나 작동한다는 참조를 찾지 못했습니다.
Torsten Bronger

26

python 2.x가 있고 python3을 설치 한 경우 pip는 pip3을 가리 킵니다. pip --version과 같은 것을 입력하여 확인할 수 있습니다 pip3 --version.

시스템에 이제 pip, pip2 및 pip3가 있습니다.

원하는 경우 pip3 대신 pip2를 가리 키도록 pip를 변경할 수 있습니다.


1
당신은 변경 어떻게
ahnbizcad

3
@ahnbizcad 가장 쉬운 방법은 다음과 같이 별칭을 정의하는 것입니다 : 별칭 핍 = "pip3"
apadana

2
나는 이런 짓을하지만 핍은 V10 때 내가 입력 그래서 내 pip3는 V9이었다 pip3 install --upgrade pip그것은 모두 V10 제작
케빈 Danikowski

2
이 대답은 틀 렸습니다. pip는 pip3을 가리 키지 않습니다. pip는 Python 2 패키지를 설치하고 pip3는 Python 3 패키지를 설치합니다. Lubuntu 18.10에서 테스트되었습니다.
Torsten Bronger

@TorstenBronger 귀하의 환경에서 파이썬 설치 순서는 무엇입니까?
apadana

14

당신이 설치할 때 python3, pip3설치됩니다. 당신이 (python2.7 같은) 다른 파이썬 설치가없는 경우 그리고 링크는 점을 작성 pip합니다 pip3.

그래서 pip에 대한 링크입니다pip3 (python3 제외) 설치 파이썬의 다른 버전이없는 경우는. pip일반적으로 첫 번째 설치를 가리 킵니다.


7

이것은 까다로운 주제입니다. 결국 호출 pip하면 시스템 설정 방법에 따라 pip2또는 을 호출합니다 pip3.


6

그림으로 :

pip --version
  pip 19.0.3 from /usr/lib/python3.7/site-packages/pip (python 3.7)

pip3 --version
  pip 19.0.3 from /usr/lib/python3.7/site-packages/pip (python 3.7)

python --version
  Python 3.7.3

which python
  /usr/bin/python

ls -l '/usr/bin/python'
  lrwxrwxrwx 1 root root 7 Mar 26 14:43 /usr/bin/python -> python3

which python3
  /usr/bin/python3

ls -l /usr/bin/python3
  lrwxrwxrwx 1 root root 9 Mar 26 14:43 /usr/bin/python3 -> python3.7

ls -l /usr/bin/python3.7
  -rwxr-xr-x 2 root root 14120 Mar 26 14:43 /usr/bin/python3.7

따라서, 내 내 기본 시스템 파이썬 (파이썬 3.7.3)에서 pip 이다 pip3 .


5

내 생각 pip, pip2그리고 pip3같은 실행 파일 경로에 소프트 링크되지 않습니다. 이 명령을 기록하면 내 Linux 터미널이 생성됩니다.

mrz@mrz-pc ~ $ ls -l `which pip`
-rwxr-xr-x 1 root root 292 Nov 10  2016 /usr/bin/pip
mrz@mrz-pc ~ $ ls -l `which pip2`
-rwxr-xr-x 1 root root 283 Nov 10  2016 /usr/bin/pip2
mrz@mrz-pc ~ $ ls -l `which pip3`
-rwxr-xr-x 1 root root 293 Nov 10  2016 /usr/bin/pip3
mrz@mrz-pc ~ $ pip -V
pip 9.0.1 from /home/mrz/.local/lib/python2.7/site-packages (python 2.7)
mrz@mrz-pc ~ $ pip2 -V
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)
mrz@mrz-pc ~ $ pip3 -V
pip 9.0.1 from /home/mrz/.local/lib/python3.5/site-packages (python 3.5)

보시다시피 그들은 다른 경로에 존재합니다.

pip3은 pip2가 Python2에서 작동하는 것처럼 항상 Python3 환경에서만 작동합니다. pip는 컨텍스트에 적합한 환경에서 작동합니다. 예를 들어 Python3 venv에있는 경우 pip는 Python3 환경에서 작동합니다.


pip가 컨텍스트에 적합한 환경과 연결되어 있다고 말하는 것은 약간 오해의 소지가 있다고 말하고 싶습니다. venv의 경우 pip 실행 파일은 시스템이 아니라 venv에 고유합니다. 동일한 Venv에 여러 버전의 Python을 설치하지 않는 한이 문제가 발생하는 것을 볼 수 없습니다. venv를 사용하지 않을 때 사용되는 pip의 버전은 때때로 직관적이지 않고 시스템 구성에 따라 다릅니다 (종종 다른 사람들이 말했듯이 먼저 설치된 Python 버전에 따라 결정됩니다). 그러나 핍은 동적 버전을 선택하기 위해 사용하는 정보가 없습니다
누가 복음 바우만

3

Python 2.7을 설치했다면 다음 과 같이 Python 2 전용 패키지를 사용 pip2하고 pip2.7설치할 수 있다고 생각합니다.

pip2 install some_pacakge

또는

pip2.7 install some_package

그리고 Python 3 전용 패키지를 사용 pip3하거나 pip3.5설치할 수 있습니다 .


1

내 Windows 인스턴스에서-내 환경을 완전히 이해하지 못합니다-pip3를 사용하여 kaggle-cli 패키지를 설치하면 작동했지만 pip는 작동하지 않았습니다. 나는 conda 환경에서 일하고 있었고 환경이 다른 것처럼 보입니다.

(fastai) C : \ Users \ redact \ Downloads \ fast.ai \ deeplearning1 \ nbs> pip --version

C : \ ProgramData \ Anaconda3 \ envs \ fastai \ lib \ site-packages (python 3.6)에서 pip 9.0.1

(fastai) C : \ Users \ redact \ Downloads \ fast.ai \ deeplearning1 \ nbs> pip3 --version

c : \ users \ redact \ appdata \ local \ programs \ python \ python36 \ lib \ site-packages (python 3.6)의 pip 9.0.1


0

somepath / venv 에서 활성화 된 Python 3.6 virtualenv가 주어지면 다음 별칭은 pip가 Apple의 2.7 Python을 가리켜 야한다고 주장하는 macOS Sierra의 다양한 문제를 해결했습니다.

alias pip='python somepath/venv/lib/python3.6/site-packages/pip/__main__.py'

sudo pip루트 사용자가 내 별칭이나 virtualenv에 대해 전혀 알지 못하기 때문에이 작업을 수행해야했을 때 제대로 작동 하지 않았기 때문에이를 처리하기 위해 별칭을 추가해야했습니다. 해킹이지만 작동하며 어떤 역할을하는지 압니다.

alias sudopip='sudo somepath/venv/bin/python somepath/venv/lib/python3.6/site-packages/pip/__main__.py'

배경:

pip3이 시작되지 않았으며 ( command not found ) Apple Python 인 /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/pip를which pip 반환 합니다.

Python 3.6은 macports를 통해 설치되었습니다.

3.6 virtualenv를 활성화 한 후 작업하고 싶었던 somepath / venv / bin / python을which python 반환합니다.

어떻게 든 pip install옳은 일을하고 내 virtualenv를 쳤지 만pip list Python 2.7 패키지를 떨어 것입니다.

Python의 경우 초보자 친화적이라는 측면에서 내 기대치보다 훨씬 낮습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.