다른 버전의 Python 사용


21

배경 :

다른 파이썬 버전에서 실행해야하는 파이썬 프로그램을 개발하기 때문에 컴퓨터에 다른 버전의 파이썬을 설치했습니다.

이 파이썬 2.6에 사전 설치와 함께, 그래서 나는 FC (13)를 사용하고 /usr/bin/python2.6/usr/lib/python2.6.

소스에서 python 2.5를 설치하고 깔끔하게 유지하기 위해 --prefix=/usrpython을 /usr/bin/python2.5and에 설치 한 옵션을 사용했습니다 /usr/lib/python2.5.

이제 python프롬프트를 실행 하면 버전 2.5를 사용 중임을 표시합니다. 그러나 설치에 문제가 있습니다.

패키지 관리 :

easy_install을 사용하면 패키지는 항상에 설치됩니다 /usr/lib/python2.6/site-packages/. setuptoolspython 2.5 용 .egg를 다운로드 하여 설치하려고 시도했지만 오류가 발생합니다.

/usr/lib/python2.5/site-packages does NOT support .pth files

python2.5가 내 PYTHONPATH에없는 것 같습니다. 기본 설치가 PYTHONPATH에 추가 될 것이라고 생각했지만 echo $PYTHONPATHpromt에서 쓸 때 빈 줄이 나타납니다.

답변:


20

여러 파이썬 버전을 설치하는 데 권장되는 방법은 소스에서 각각 설치하는 것입니다. 그것들은 함께 공존 할 것입니다. 그런 다음 적절한 인터프리터와 함께 virtualenv를 사용하여 필요한 종속성 (pip 또는 easy_install 사용)을 설치할 수 있습니다. 소스에서 여러 개의 인터프리터를보다 쉽게 ​​설치할 수있는 방법은 다음과 같습니다.

sudo make altinstall

보다 일반적인 "sudo make install"대신에. 이렇게하면 실행 파일에 버전 번호가 추가되므로 (python-2.5, python-2.6, python-3.2 등) Python의 시스템 버전과의 충돌을 방지합니다.


2
Altinstall + virtualenv = 파이썬 개발 nirvahna. 감사!
Alex

13

이것은 격리 된 Python 환경을 만드는 데 가장 널리 사용되는 도구 인 virtualenv 에 대한 완벽한 응용 프로그램 인 것 같습니다 . Python 버전을 지정하는 샘플 명령입니다.

$ virtualenv --python=/usr/bin/python2.6 myvirtualenv

나는 virtualenv이 경우 해결책 이라고 생각하지 않습니다 . 내 대답을 참조하십시오.
Piotr Dobrogost

5

를 사용하여 easy_install패키지는 항상 /usr/lib/python2.6/site-packages/

distutils가 설치중인 모든 스크립트에 shebang 행을 추가하기 때문입니다. 당신이 실행하는 경우 easy_install스크립트를 직접은이 (오두막 라인에 따라)에 설치된 통역으로 실행됩니다. 어떤 easy_install실행이 당신에 의존되고있는 PATH없습니다PYTHONPATH . Python 2.5 인스턴스에 패키지를 설치 easy_install하려면 다음을 사용하도록 Python 인터프리터를 지정 해야합니다 .

/usr/bin/python2.5/python easy_install ...

엄격하게 말하면 기본 Python virtualenv의 컨텍스트에서 작성해야하므로 여기에서 도움이되지 않습니다. 이는 running과 정확히 동일한 문제 입니다. 그것이 논쟁의 대상입니다. 어떤 이유로 유사한 인수를 제공하지 않으므로 위에 표시된대로 특정 Python 인터프리터로 실행해야합니다.easy_install--pythonvirtualenveasy_install


그것은 나의 첫 번째 대답이며 첫 네크로맨서 배지도 희망합니다 :)
Piotr Dobrogost

아주 좋은 설명 감사합니다! Necromancer 배지는 잘 받았습니다;)
Alex

2

Fedora 13도 사용 중이며 PYTHONPATH설정되어 있지 않습니다.

파이썬 내에서 sys.path 스크립트를 가져 오는 데 사용되는 경로 목록을 제공합니다.

easy_install대상 디렉토리를 결정 하는 방법에 익숙하지 않지만 명령 줄 인수가있을 것이라고 확신합니다.

easy_install명령에 원하는 파이썬의 전체 경로를 추가하여 실행할 파이썬 버전을 지정 하십시오.

또한 easy_install설치된 파이썬 버전 하나의 스크립트에 대한 bin의 심볼릭 링크 인지 확인하십시오 .


1

Virtualenv는 확실히 신의 선물입니다.

내 설정에서 환경 변수 VIRTUALENV_USE_DISTRIBUTE가 1로 설정되어 setuptools 대신보다 최신 Distribute 패키지가 사용됩니다. 시스템에서 두 버전의 Python에 대한 가상 환경을 다음과 같이 만들었습니다.

$ virtualenv -p python2.6 py2
$ virtualenv -p python3.2 py3

그런 다음 세 개의 별칭을 만들었습니다 .bashrc.

alias py2='source $HOME/py2/bin/activate'
alias py3='source $HOME/py3/bin/activate'
alias idle='python -m idlelib.idle'

따라서 py2기본 Python 2.6 py3으로 전환하고 기본 Python 3.2 로 전환하는 데 사용할 수 있습니다 . 들어가기idle 가상 환경에 적합한 IDLE 버전이 실행됩니다.

이러한 가상 환경 중 하나에 패키지를 설치하려면 일반적으로 pip install명령이 필요합니다 .

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