Python 2.x와 함께 Python 3.x에서 pip를 사용하는 방법


197

Python 3.x (Ubuntu의 Python 2.x 외에)를 설치하고 Python 2.x에서 사용하는 모듈을 천천히 페어링하기 시작했습니다.

그래서 파이썬 2.x와 파이썬 3.x 모두에 pip를 사용하여 인생을 편하게하기 위해 어떤 접근법을 취해야하는지 궁금합니다.


2
개인적으로 글로벌 패키지 설치를 피하고 virtualenv를 사용합니다. 그런 다음 각 프로젝트에 대해 가상 환경 내부에서 pip를 사용하고 항상 올바른 것을 사용합니다.
jpmc26

답변:


185

pip파이썬 3.2 를 설치 하는 것이 좋습니다 .

다음과 같은 방법으로이를 수행하십시오.

$ curl -O https://bootstrap.pypa.io/get-pip.py
$ sudo python3.2 get-pip.py

그런 다음을 사용하여 Python 3.2를 pip-3.2설치하고을 사용하여 Python 2-7을 설치할 수 pip-2.7있습니다. pip명령은 이들 중 하나를 가리키는 끝날 것입니다,하지만 당신은 확인해야합니다, 그래서 나는 확실히 어떤을 모르겠어요.


9
이것은 쉬웠습니다. 감사합니다. sudo python3.2 get-pip.py설치 수 pippip-3.2의 스크립트를 /usr/local/bin모두 논리적으로 파이썬 3. sudo python get-pip.py설치 수 pippip-2.7이 경우에, 여기를 pip파이썬 2.7 사용합니다. pip-3.2as에 대한 링크를 추가로 만들고 pip3테스트했습니다. Perfect! :)
theta

6
Fedora에서는 pip3.3, 즉 pip와 버전 사이에 대시가 없습니다. /usr/bin어떤 pip 버전이 있는지 확인 하십시오.
Shailen

5
[x] 우분투에서도을 사용하고 [ pip2 | pip2.7 | pip3 | pip3.4 ]있습니다. pip다른 시스템간에 변경 되거나 다른가?
Jon Surrell

실행 한 후 내가 가지고You're using an outdated location for the get-pip.py script, please use the one available from https://bootstrap.pypa.io/get-pip.py
케빈 Brotcke에게

그럼 그렇게하세요. :-)
Lennart Regebro

53

apt-get을 사용하는 것도 가능합니다.

apt-get install python3-pip

내 경험상 이것은 매우 유창하게 작동하며 apt-get에서 모든 이점을 얻습니다.


2
12.04에 나는 이것을 할 수 없습니다.
dranxo

15
나는 이것을 성공적으로 사용했고 (즉, sudo apt-get install python3-pip) "sudo python3 -m pip install package"를 사용하여 python3 패키지를 설치할 수 있습니다.
Tom Slee 2013 년

2
오늘 현재, apt-get은 구식 1.5.6 버전을 제공한다고 생각합니다. AssertionErrror pip freeze > requirements(또는 다른 잠재적 인 버그) 동안 AssertionErrror를 원하지 않으면 최신 버전의 소스에서 설치하고 두통을 피하십시오.
Yibo Yang

설치하려면 루트 여야합니다python3-pip
Florent

설치에도 불구하고 pip사용이 python3.7 pip여전히 우분투 14.04에 파이썬 2.7에 기본을 사용하고 :( 나는 최신 버전 즉. 19.3.1하지만 여전히 python2.7에 기본을 복용에 업데이트 핍로 처리했다.이 파이썬 3.7와 함께 사용할 수 있도록하는 방법 ?
호기심 개발자

48

먼저 다음을 사용하여 Python 3 pip를 설치하십시오.

sudo apt-get install python3-pip

그런 다음 사용을 Python 3 pip사용하십시오.

pip3 install <module-name>

에 대한 Python 2 pip사용 :

pip install <module-name>

4
사용중인 OS에 따라 Python 2 pip는 없습니다. 예를 들어 Arch Linux pip --version에서는 기본적 으로 Python 3.6 에서 실행되고 있습니다.
Daniel Andrei Mincă

저에게 가장 직관적이고 쉬운 해결책 인 것 같습니다. 감사합니다!
gebbissimo

15

pip 를 사용할 때마다 버전을 지정하지 않으려는 경우 :

핍 설치 :

$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python3

경로를 내보내십시오.

$ export PATH=/Library/Frameworks/Python.framework/Versions/<version number>/bin:$PATH

11
좀 더 자세히 설명해 주시겠습니까? 배포 를 설치하는 데 사용하려는 pip 버전을 지정하지 않아도되는 방법을 알 수 없습니다 .
Piotr Dobrogost

13

가장 짧은 방법 :

python3 -m pip install package
python -m pip install package

```(test-exif) alex @ alex-xps-13-9370 : ~ / projects / oe / app / exif $ python3 -m pip install exif / usr / bin / python3 : pip라는 모듈 없음```
axd

이 경우 @axd는 먼저을 사용하여 pip를 설치하십시오 sudo apt-get install python3-pip. python3을 사용한다고 가정합니다.
fiveelements

5

이것은 OS X에서 나를 위해 일했습니다 : (때로는 Mac이 모든 오픈 소스 도구의 "자체"버전을 가지고 있기 때문에 고통스럽고, "개선"으로 인해 다른 사과가 작동하기 때문에 그것을 제거 할 수 없습니다. 그것을 제거하면 물건이 떨어지기 시작합니다)

파이썬 3에 대한 pip를 얻기 위해 @Lennart Regebro가 제공 한 단계를 따랐습니다. 그럼에도 불구하고 파이썬 2에 대한 pip는 여전히 경로에서 처음이었습니다. 그래서 ... 내가 한 일은 / usr / bin 안에 python 3에 대한 심볼릭 링크를 만드는 것입니다 ( 실제로 나는 2 개의 파이썬이 평화롭게 실행되도록 똑같이했다) :

ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/pip /usr/bin/pip3

공지 사항 난을 추가 한 3, 마지막에 이렇게 기본적으로 당신이해야 할 무엇을 사용하는 pip3대신의 pip.

게시물이 오래되었지만 언젠가 누군가에게 도움이되기를 바랍니다. 이것은 이론적으로 모든 LINUX 시스템에서 작동합니다.


4

Suse Linux 13.2에서 pip는 python3을 호출하지만 pip2는 이전 python 버전을 사용할 수 있습니다.


voidlinux에서 동일
Radagast

4

Windows에서는 먼저 Python 3.7을 설치 한 다음 Python 2.7을 설치했습니다. 그런 다음 명령 프롬프트를 사용하십시오.

pip install python2-module-name

pip3 python3-module-name 설치

그게 다야


3

msys2에서 다음 명령이 도움이되었다는 것을 알았습니다.

$ pacman -S python3-pip
$ pip3 install --upgrade pip
$ pip3 install --user package_name

2

이것이 오래된 질문이라고 생각했지만 더 나은 해결책이 있다고 생각합니다.

  1. python 2.x 환경에서 pip를 사용하려면 다음 명령을 사용하십시오.

    py -2 -m pip install -r requirements.txt

  2. python 3.x 환경에서 pip를 사용하려면 다음 명령을 사용하십시오.

    py -3 -m pip install -r requirements.txt

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