Programing

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

lottogame 2020. 2. 18. 22:34
반응형

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


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

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

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


현재 권장 사항은 사용하는 것입니다 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확인 하십시오.


참고 문헌 :


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

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

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


기본적으로 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

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

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

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

    python3 -m pip install package


다른 답변은 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

나는 최근 에이 문제에 부딪 쳤고 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>

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

 python2.7 /usr/bin/pip install foo

또는

python2.7 -m pip install foo

따라서 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
>>> 

여기에서 : 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

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

답변의 대부분은 여기에 문제를 해결하지만 지속적으로 파이썬의 대체 설치를 만들기에 관하여 저를 혼동 있었는지 뭔가 추가 할 /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.


여러 버전의 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로 변경했습니다.

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

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

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

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

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


컨텍스트 : Archlinux

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

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

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

python2
import boto

성공 : 오류가 없습니다.

이탈 : Ctrl+D


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

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

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

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


여기에 문제가 있습니다. 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"를 입력하십시오.


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

#!/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())

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


여러 아키텍처뿐만 아니라 여러 아키텍처 (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

참고 URL : https://stackoverflow.com/questions/2812520/dealing-with-multiple-python-versions-and-pip

반응형