it-swarm-ko.tech

다른 버전의 Python

배경 :

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

저는 FC 13을 사용하고 있으므로 /usr/bin/python2.6/usr/lib/python2.6에 python 2.6이 미리 설치되어 있습니다.

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

이제 python을 실행하면 버전 2.5를 사용하고 있다는 메시지가 표시됩니다. 그러나 설치에 문제가 있습니다.

패키지 관리 :

Easy_install을 사용하면 패키지는 항상 /usr/lib/python2.6/site-packages/에 설치됩니다. setuptools .Egg for python 2.5를 다운로드하고 설치하려고했지만 오류가 발생합니다.

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

Python2.5가 내 PYTHONPATH에없는 것 같습니다. 기본 설치가 PYTHONPATH에 추가 될 것이라고 생각했지만 promt에서 echo $PYTHONPATH를 쓰면 빈 줄이 나타납니다.

21
Alex

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

Sudo make altinstall

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

20
VPeric

이것은 격리 된 Python 환경을 만드는 데 매우 인기있는 도구 인 virtualenv 에 대한 완벽한 응용 프로그램처럼 들립니다. 이것은 Python 버전을 지정하는 샘플 명령입니다.

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

easy_install를 사용하면 패키지가 항상 /usr/lib/python2.6/site-packages/에 설치됩니다.

Distutils가 설치되는 모든 스크립트에 Shebang 줄을 추가하기 때문입니다. easy_install 스크립트를 직접 실행하면 설치된 인터프리터로 실행됩니다 (Shebang 라인에 따라). 실행중인 easy_installPATH이 아닌 PYTHONPATH에 따라 다릅니다. Python 2.5 인스턴스에 패키지를 설치하려면 사용할 Python 인터프리터를 지정하여 easy_install를 실행해야합니다.

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

엄밀히 말하면 virtualenveasy_install. 이것이 virtualenv--python 인수가 사용하는 이유입니다. 어떤 이유로 easy_install는 유사한 인수를 제공하지 않으므로 위에 표시된대로 특정 Python 인터프리터로 실행해야합니다.

5
Piotr Dobrogost

Fedora 13도 사용하고 있는데 PYTHONPATH이 설정되지 않았습니다.

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

easy_install이 (가) 대상 디렉토리를 결정하는 방법에 대해서는 잘 모르겠지만 명령 줄 인수가있을 것이라고 확신합니다.

원하는 python)에 대한 전체 경로를 명령 앞에 입력하여 easy_install를 실행할 python 버전을 지정하십시오.

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

2
bkersten

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 명령 만 있으면됩니다.

1
pythoneer