여러 파이썬 버전과 PIP를 다루고 있습니까?


499

pip여러 버전의 Python에서 잘 플레이 할 수있는 방법이 있습니까? 예를 들어 pip사이트 2.5 설치 또는 사이트 2.6 설치에 항목을 명시 적으로 설치하는 데 사용하고 싶습니다 .

예를 들어와 easy_install함께을 사용 easy_install-2.{5,6}합니다.

그리고 그렇습니다. 저는 virtualenv에 대해 알고 있습니다. 아니요.이 특정 문제에 대한 해결책은 아닙니다.


1
@YiboYang은 pip34and와 같은 것들로 작동 pip35합니까?
JinSnow

2
@JinSnow pip3.x실제로 패키지를 설치하려는 파이썬 버전을 관리해야합니다 (아마도 실행 pip3.x -V합니다). 또는 @Hugo의 솔루션을 사용하여 많은 파이썬 버전을 더 잘 제어하십시오.
Yibo Yang

답변:


624

현재 권장 사항은 사용하는 것입니다 python -m pip, python당신이 사용하고자하는 파이썬의 버전입니다. 모든 버전의 Python과 모든 형태의 virtualenv에서 작동하기 때문에 권장 사항입니다. 예를 들면 다음과 같습니다.

# The system default python:
$ python -m pip install fish

# A virtualenv's python:
$ .env/bin/python -m pip install fish

# A specific version of python:
$ python-3.6 -m pip install fish

후손으로 떠난 이전 답변 :

버전 0.8부터 Pip은을 지원합니다 pip-{version}. 다음과 동일하게 사용할 수 있습니다 easy_install-{version}.

$ pip-2.5 install myfoopackage
$ pip-2.6 install otherpackage
$ pip-2.7 install mybarpackage

편집 : pip 는 버전 1.5 pipVERSION대신 사용하도록 스키마를 변경했습니다 pip-VERSION. 있다면 다음을 사용해야합니다 pip >= 1.5.

$ pip2.6 install otherpackage
$ pip2.7 install mybarpackage

자세한 내용은 https://github.com/pypa/pip/pull/1053 을 확인 하십시오.


참고 문헌 :


12
작동하지 않습니다. 최신 버전의 pip는 pip-2.6 스크립트를 설치했지만 pip-2.5 스크립트를 설치하지 않아도됩니다.
크리스 B.

2
python2.5 pip 버전을 업데이트해야합니다 ... pip를 사용하는 python 아래에 pip- {PYVERSION} 만 생성합니다.
Hugo Tavares

4
이것은 올바르지 않습니다. 우분투에서 Python2.7을 사용하여 pip 1.2.1을 실행 중이며 대체 pip 버전이 없습니다.
Cerin

2
@rodling : / pip를 통해 설치하지 않았 거나 python2.7 이 없습니다. 당신이 python2.7이있는 경우, 시도 : 당신은해야 하고pipeasy_installget-pip.pypip install --upgrade pippippip-2.7
휴고 타바레스

2
@JCRocamonde : 프로그램 pip은 환경 변수 $ PATH에 따라 선택됩니다. "기본"pip 프로그램을 변경하려면 $ PATH 환경 변수를 다시 정렬하십시오. $ PATH에 대한 자세한 내용은 "path environment variable linux"와 같은 것을 검색하십시오.
Hugo Tavares

117

Windows에서, 당신은을 통해 주어진 파이썬 버전을 사용하여 PIP 모듈을 실행할 수 파이썬 실행을 , py.exe당신은 파이썬 3를 설치하는 동안 설치하도록 선택한 경우.

py -3 -m pip install packagename
py -2 -m pip install packagename

더 구체적이고 파이썬의 정확한 하위 버전을 요청할 수 있습니다.

py -3.6 -m pip install packagename

실행기를 통해 사용 가능한 모든 설치된 Python 버전 목록을 얻으려면 다음을 실행하십시오.

py --list

또는 원하는 Python 실행 파일을 직접 시작할 수 있습니다.

C:/path/to/specific/python.exe -m pip install packagename

11
모두 2.7 및 Windows에 설치 3.5를 가진이 바로 일
phil_lgr

1
이 방법이 없습니다 python2, python3, pip2pip3Windows에서는?
thomthom

1
이것은 창문에서 나를 위해 일했습니다. 3을 설치 한 다음 2를 설치했습니다.
daneshjai

1
고마워, 이것은 나를 위해 일했다! 얼마나 힘들 었는지 믿을 수 없습니다. (이 또는 변화 없음 python3.7 -m 핍 설치 또는 python3.7 -m 핍 설치 또는 python3.7 -m 핍 설치를 ... 나를 위해 일한)
jeppoo1

75

/path/to/python2.{5,6} /path/to/pip install PackageName 작동하지 않습니까?

pip가 아직 설치되어 있지 않은 파이썬 버전에서 작동하려면 pip를 다운로드하고 수행해야 python*version* setup.py install합니다. 예를 들면 python3.3 setup.py install. 주석의 가져 오기 오류가 해결됩니다. (@hbdgaf가 제안한대로)


4
이것이 파이썬 3에서 작동하려면 pip를 다운로드하고 "python3 setup.py install"을 수행해야합니다. 개인적으로 나는이 솔루션이 그리 좋지 않다는 것을 알았습니다. 처음에는 pip 명령이 이진이 아닌지도 몰랐습니다. 이것은 @bwinton에 대한 비판이 아니며, 더 좋은 방법이 없다는 것에 놀랐습니다.
Mike Vella

28
"ImportError : pkg_resources라는 모듈이 없습니다"
Cerin

3
importerror의 문제는 위의 동일한 의견에 대한 해결책보다 더 많은 인상을 받았다고 당황했습니다.
RobotHumans

1
또한 / path / to / pip는 다음과 같습니다. python2. {5,6} / Scripts / pip2. {5,6}
raul

2
파이썬 모듈을 호출하려면 다음을 사용해야합니다.python2.7 -m pip install PackageName
llrs

52

기본적으로 python 2.6이 설치되었지만 (Amazon EC2 AMI), python2.7과 일부 외부 패키지가 필요했습니다. 기본 python과 함께 python2.7을 이미 설치했다고 가정합니다 (필자의 경우 2.6). 기본이 아닌 python2.7에 pip 및 패키지를 설치하는 방법은 다음과 같습니다.

파이썬 버전 용 pip를 설치하십시오.

curl -O https://bootstrap.pypa.io/get-pip.py
python27 get-pip.py

특정 pip 버전을 사용하여 패키지를 설치하십시오.

pip2.7 install mysql-connector-python --allow-external mysql-connector-python

2
python 3.4에서 다음과 같이 나를 위해 일했습니다 : python3 get-pip.py나중에 pip 명령을 사용하여pip34 install example
Karl Adler

감사. 매우 유용한. 서로 다른 두 서버에서 테스트되었습니다.
user2099484

3
이것은 내가 'python27 get-pip.py'대신 'python2.7 get-pip.py'를 사용할 때 작동했습니다.
SummerEla

스케치 한 느낌이 들었지만 Centos 5에 pip2.6을 설치하면 효과가있었습니다.
Aaron R.

있어 Could not find a version that satisfies the requirement pip (from versions: ) No matching distribution found for pip내가 시도 할 때python2.6 get-pip.py
Pyderman

29

그것은 창문에서 이런 식으로 저에게 효과적이었습니다.

  1. python.py 및 pythonw.exe를 python3.py로 변경했습니다 .pythonw3.py

  2. 그런 다음 프롬프트 에서이 명령을 실행했습니다.

    python3 -m pip install package


4
Mac에서 pip를 사용하여 python3에 패키지를 설치하는 방법을 알아내는 다른 사람을 위해이 명령은 패키지를 설치하는 방법입니다. 나는 몇 시간을 검색하고 마침내 찾았습니다!
sidney

25

다른 답변은 2.X 및 3.X Python에서 pip를 사용하는 방법을 보여 주지만 여러 Python 배포 (예 : 원본 Python 및 Anaconda Python)의 경우를 처리하는 방법은 보여주지 않습니다 .

원래 Python 2.7 및 Python 3.5 및 Anaconda Python 3.5의 총 3 가지 Python 버전이 있습니다.

패키지를 설치하는 방법은 다음과 같습니다.

  1. 오리지널 파이썬 3.5 :

    /usr/bin/python3 -m pip install python-daemon
  2. 오리지널 파이썬 2.7 :

    /usr/bin/python -m pip install python-daemon
  3. 아나콘다 파이썬 3.5 :

    python3 -m pip install python-daemon

    또는

    pip3 install python-daemon

    Anaconda가 사용자 환경에서 원래 Python 바이너리를 재정의하므로 더 간단합니다.

    물론 아나콘다로 설치하는 것은 conda명령 으로 수행해야합니다 . 이것은 단지 예일뿐입니다.


또한 해당 특정 Python에 대해 pip가 설치되어 있는지 확인하십시오. pip를 수동으로 설치해야 할 수도 있습니다. 이것은 우분투 16.04에서 작동합니다.

sudo apt-get install python-pip 

또는

sudo apt-get install python3-pip

여기 Anaconda에 관한 조언은 정확하지 않습니다. 그것은 "무시"하지 않습니다. 시스템에서 Anaconda 버전을 기본값으로 선택한다는 사실은 특정 구성, 각 인터프리터 설치 방법 및 환경의 경로 순서 등의 부작용입니다.
Corey Goldberg

@CoreyGoldberg 동의합니다. Ubuntu 16.04
quasoft

1
당신은 선생님입니다. 이 문제를 둘러싼 완전히 쓸모없는 설명 중 이것이 나에게 의미가있는 유일한 것입니다. 이 명령의 별명을 지정하고 내 인생에 착수 할 시간입니다! 감사합니다.
Iofacture

14

나는 최근 에이 문제에 부딪 쳤고 Python 2가있는 Linux 시스템에서 Python 3에 대한 올바른 핍을 얻지 못했습니다.

먼저 파이썬 버전에 pip를 설치했는지 확인해야합니다.

파이썬 2의 경우 :

sudo apt-get install python-pip

파이썬 3의 경우 :

sudo apt-get install python3-pip

그런 다음 한 버전의 Python 또는 다른 버전의 패키지를 설치하려면 Python 2에 다음을 사용하십시오.

pip install <package>

또는 파이썬 3의 경우 :

pip3 install <package>

11

pip는 또한 파이썬 패키지입니다. 따라서 특정 파이썬 버전에 모듈을 설치하는 가장 쉬운 방법은 다음과 같습니다.

 python2.7 /usr/bin/pip install foo

또는

python2.7 -m pip install foo

10

따라서 easy_install 와의 여러 버전이 pip있습니다. 큰 혼란 인 것 같습니다. 어쨌든, 이것은 Ubuntu 12.10에 Python 2.7 용 Django를 설치하기 위해 수행 한 작업입니다.

$ sudo easy_install-2.7 pip
Searching for pip
Best match: pip 1.1
Adding pip 1.1 to easy-install.pth file
Installing pip-2.7 script to /usr/local/bin

Using /usr/lib/python2.7/dist-packages
Processing dependencies for pip
Finished processing dependencies for pip

$ sudo pip-2.7 install django
Downloading/unpacking django
  Downloading Django-1.5.1.tar.gz (8.0Mb): 8.0Mb downloaded
  Running setup.py egg_info for package django

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
Installing collected packages: django
  Running setup.py install for django
    changing mode of build/scripts-2.7/django-admin.py from 644 to 755

    warning: no previously-included files matching '__pycache__' found under directory '*'
    warning: no previously-included files matching '*.py[co]' found under directory '*'
    changing mode of /usr/local/bin/django-admin.py to 755
Successfully installed django
Cleaning up...

$ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> 

8

여기에서 : https://docs.python.org/3/installing/

linux, mac, posix 와 동시에 설치되는 다양한 버전의 패키지를 설치하는 방법은 다음과 같습니다 .

python2   -m pip install SomePackage  # default Python 2
python2.7 -m pip install SomePackage  # specifically Python 2.7
python3   -m pip install SomePackage  # default Python 3
python3.4 -m pip install SomePackage  # specifically Python 3.4
python3.5 -m pip install SomePackage  # specifically Python 3.5
python3.6 -m pip install SomePackage  # specifically Python 3.6

윈도우 의 -m 스위치와 조합 평 파이썬 실행기를 사용 :

py -2   -m pip install SomePackage  # default Python 2
py -2.7 -m pip install SomePackage  # specifically Python 2.7
py -3   -m pip install SomePackage  # default Python 3
py -3.4 -m pip install SomePackage  # specifically Python 3.4

또한 체크 아웃을 고려 : pipenv
jmunsch

7

Linux, Mac OS X 및 기타 POSIX 시스템에서 버전이 지정된 Python 명령을 -m스위치 와 함께 사용하여 다음의 적절한 사본을 실행하십시오 pip.

python2.7 -m pip install SomePackage
python3.4 -m pip install SomePackage

(적절하게 버전이 지정된 pip 명령을 사용할 수도 있습니다)

Windows에서는 pyPython 실행기를 -m스위치 와 함께 사용하십시오 .

py -2.7 -m pip install SomePackage  # specifically Python 2.7
py -3.4 -m pip install SomePackage  # specifically Python 3.4

에 대한 오류가 발생하면 py -3.4다음을 시도하십시오.

pip install SomePackage

5

여러 버전의 Python 및 해당 패키지 설치

동일한 Windows 컴퓨터의 Python 버전 : 2.7, 3.4 및 3.6

3 가지 버전의 Python 설치 :

  • 아래 경로로 Python 2.7, 3.4 및 3.6을 설치했습니다.

여기에 이미지 설명을 입력하십시오

3 가지 버전의 Python에 대한 경로 :

  • C : \ Python27 \; C : \ Python27 \ Scripts; C : \ Python34 \; C : \ Python34 \ Scripts; C : \ Python36 \; C : \ PATH 변수 (시스템 변수)에 경로가 포함되어 있는지 확인하십시오. Python36 \ 스크립트 \;

버전의 실행 파일 이름 바꾸기 :

  • C : \ Python36 및 C : \ Python34의 python 실행 파일 이름을 각각 python36 및 python34로 변경했습니다.

여기에 이미지 설명을 입력하십시오

모든 버전에서 명령 프롬프트를 확인했습니다.

여기에 이미지 설명을 입력하십시오

각 버전에 대해 별도로 패키지 설치

여기에 이미지 설명을 입력하십시오


감사 !!! 이것이 가장 좋은 방법입니다
rakshit ks

4

여러 아키텍처뿐만 아니라 여러 아키텍처 (32 비트, 64 비트)가있는 경우 버전 끝에 -32 또는 -64를 추가해야합니다.

Windows의 경우 cmd로 이동하여 py --list를 입력하면 설치 한 버전이 생성됩니다. 목록은 다음과 같습니다.

Installed Pythons found by py Launcher for Windows
 -3.7-64 *
 -3.7-32
 -3.6-32

예를 들어 전체 명령은 다음과 같습니다.

py -3.6-32 -m pip install (package)

좀 더 심도있게하려면 특정 버전의 Python에 특정 버전의 패키지를 설치하려면 패키지 다음에 == (version)을 사용하십시오. 예로서,

py -3.6-32 -m pip install opencv-python==4.1.0.25

2

답변의 대부분은 여기에 문제를 해결하지만 지속적으로 파이썬의 대체 설치를 만들기에 관하여 저를 혼동 있었는지 뭔가 추가 할 /usr/local내가 거기에 설치하는 경우에 CentOS 7.을, 그것이 내가 사용할 수 있기 때문에 일하는 핍처럼 등장 pip2.7 install하고 모듈을 설치합니다. 그러나 내가 알 수없는 것은 새로 설치된 파이썬 버전이 내가 설치중인 것을 보지 못한 이유였습니다.

CentOS 7에서는 /usr/bin폴더 에 이미 python2.7과 pip2.7이 있음이 밝혀졌습니다 . 새로운 파이썬 배포를 위해 pip를 설치하려면 sudo에게 구체적으로 지시해야합니다./usr/local/bin

sudo /usr/local/bin/python2.7 -m ensurepip

/usr/local/bin파이썬 버전과 함께 폴더에 pip2.7이 설치됩니다 . 요령은 모듈을 설치할 때 $PATH포함 하도록 sudo 변수를 수정 /usr/local/bin하거나 실행해야한다는 것입니다

sudo /usr/local/bin/pip2.7 install <module>

새 모듈을 설치하려는 경우 내가 sudo즉시 보지 못했다는 것을 기억하는 데 영원히 걸렸습니다 /usr/local/bin.


2

여기에 문제가 있습니다. Python3에서 작동합니다. 주요 특징은 다음과 같습니다.

  • 각 파이썬 버전은 소스에서 컴파일됩니다
  • 모든 버전은 로컬로 설치됩니다
  • 어떤 식 으로든 시스템의 기본 Python 설치를 방해하지 않습니다
  • 각 Python 버전은 virtualenv와 격리됩니다

단계는 다음과 같습니다.

  1. 다른 방법으로 여러 개의 추가 파이썬 버전이 설치되어 있으면 제거하십시오. 예를 들어 $ HOME / .local / lib / python3.x 등을 제거하십시오 (전역 적으로 설치된 버전). 그래도 시스템의 기본 python3 버전을 만지지 마십시오.

  2. 다음 디렉토리 구조에서 다른 Python 버전의 소스를 다운로드하십시오.

    $HOME/
        python_versions/ : download Python-*.tgz packages here and "tar xvf" them.  You'll get directories like this:
          Python-3.4.8/
          Python-3.6.5/
          Python-3.x.y/
          ...
  3. 각 "Python-3.xy /"디렉토리에서 다음을 수행하십시오 (단계에서 "sudo"를 사용 하지 마십시오 !) :

    mkdir root
    ./configure --prefix=$PWD/root 
    make -j 2
    make install
    virtualenv --no-site-packages -p root/bin/python3.x env
  4. "python_versions /"에서 다음과 같은 파일을 작성하십시오.

    env_python3x.bash:
    
    #!/bin/bash
    echo "type deactivate to exit"
    source $HOME/python_versions/Python-3.x.y/env/bin/activate
  5. 이제 python3.x를 선택하려면 언제든지

    source $HOME/python_versions/env_python3x.bash

    virtualenv를 입력

  6. virtualenv에서 원하는 Python 패키지를 설치하십시오.

    pip install --upgrade package_name
  7. virtualenv 및 python 버전을 종료하려면 "deactivate"를 입력하십시오.

최신 정보

--no-site-packages더 이상 사용되지 않는 것 같습니다 . virtualenv를 활성화 한 후 HOME env 변수를 실제 홈 디렉토리가 아닌 다른 위치로 지정하십시오.

export HOME=some/where/else

일반적으로이 작업을 수행하는 좋은 방법은 다음과 같습니다.

  • virtualenv 생성
  • virtualenv 활성화
  • 기존 라이브러리를 virtualenv로 "재활용"하려면 기존 설치에서 라이브러리를 소프트 링크하십시오. ln -s $HOME/.local/lib/python3.6/site-packages/numpy $PWD/venv/lib/python3.6/site-packages/
  • 수행 export PYTHONPATH=,export HOME=/some/other/dir

이제 사용자 지정 절연 virtualenv가 있어야합니다.


0

컨텍스트 : Archlinux

조치 :
python2-pip를 설치하십시오.
sudo pacman -S python2-pip

이제 pip2.7이 있습니다.
sudo pip2.7 install boto

테스트 (내 경우에는 'boto'가 필요했습니다) :
다음 명령을 실행하십시오.

python2
import boto

성공 : 오류가 없습니다.

이탈 : Ctrl+D


0

예를 들어, 다른 버전 (예 : 3.5)을 기본값으로 설정하고 python 2.7 용 pip를 설치하려는 경우 :

  1. https://pypi.python.org/pypi/pip (tar) 에서 pip를 다운로드 하십시오.
  2. 압축 해제 타르 파일
  3. 파일의 디렉토리로 cd
  4. sudo python2.7 setup.py 설치

0

예를 들어 C : \ Python2.7 \ Scripts로 이동 한 다음 해당 경로에서 cmd를 실행할 수 있습니다. 그 후 pip2.7을 실행하여 패키지를 설치할 수 있습니다 ...

그러면 해당 버전의 Python에 대한 패키지가 설치됩니다.


0

이것은 아마도 완전히 잘못한 일입니다 (파이썬 멍청한 놈입니다).

#!/usr/bin/env python3 <-- I changed this line.

# -*- coding: utf-8 -*-
import re
import sys

from pip._internal import main

if __name__ == '__main__':
    sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
    sys.exit(main())

0

Windows의 경우 : \ path \ to \ python.exe -m pip install PackageName이 작동합니다.


0

블렌더 :

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