[python] Windows에서 여러 Python 버전을 실행하는 방법

내 컴퓨터에 두 가지 버전의 Python이 설치되었습니다 (버전 2.6 및 2.5). 한 프로젝트에는 2.6을, 다른 프로젝트에는 2.5를 실행하고 싶습니다.

사용할 것을 어떻게 지정합니까?

Windows XP SP2에서 작업하고 있습니다.



답변

올바른 실행 파일을 시작하는 것만 큼 다른 Python 사본을 실행하는 것은 쉽습니다. 명령 행에서 간단히을 입력하여 Python 인스턴스를 시작했다고 언급했습니다 python.

Windows에서 수행하는 작업은 %PATH%환경 변수 를 트롤링하여 배치 파일 ( .bat), 명령 파일 ( .cmd) 또는 실행할 다른 실행 파일 ( PATHEXT환경 변수에 의해 제어 됨 ) 중 지정된 이름과 일치하는 실행 파일을 확인하는 것 입니다. 실행할 올바른 파일을 찾으면 파일이 실행되고있는 것입니다.

이제 두 개의 Python 버전 2.5 및 2.6을 설치 한 경우 경로에는 두 디렉토리가 모두 들어 PATH=c:\python\2.5;c:\python\2.6있지만 Windows는 일치하는 경로를 찾으면 경로 검사를 중지합니다.

당신이 정말로 필요가 명시 적으로 같은 응용 프로그램 중 하나 또는 둘 모두를 호출하는 것 c:\python\2.5\python.exe또는c:\python\2.6\python.exe .

다른 대안은 각각의 python.exe호출 중 하나 python25와 다른 호출에 대한 지름길을 만드는 것입니다 python26. 그런 다음 python25명령 줄에서 간단히 실행할 수 있습니다 .


답변

문제에 대한 두 가지 솔루션 추가 :

  • pylauncher를 사용 하고 (Python 3.3 이상이 설치된 경우 Python과 함께 제공 되므로 설치할 필요가 없음 ) 스크립트에 shebang 행을 추가하십시오.

#! c:\[path to Python 2.5]\python.exe-Python 2.5
#! c:\[path to Python 2.6]\python.exe로 실행하려는 스크립트의 경우-Python 2.6으로 실행하려는 스크립트의 경우

또는 python명령을 실행 하는 대신 py원하는 Python 버전을 지정하는 pylauncher 명령 ( )을 실행하십시오 .

py -2.6– 버전 2.6
py -2– 최신 설치 버전 2.x
py -3.4– 버전 3.4
py -3– 최신 설치 버전 3.x

  • virtualenv를 설치 하고 두 개의 virtualenv를 작성하십시오.

virtualenv -p c:\[path to Python 2.5]\python.exe [path where you want to have virtualenv using Python 2.5 created]\[name of virtualenv]

virtualenv -p c:\[path to Python 2.6]\python.exe [path where you want to have virtualenv using Python 2.6 created]\[name of virtualenv]

예를 들어

virtualenv -p c:\python2.5\python.exe c:\venvs\2.5

virtualenv -p c:\python2.6\python.exe c:\venvs\2.6

그런 다음 첫 번째를 활성화하고 이와 같이 Python 2.5로 작업 할 수 있으며
c:\venvs\2.5\activate
Python 2.6으로 전환하고 싶을 때

deactivate
c:\venvs\2.6\activate


답변

Python 3.3부터 Windows 용 공식 Python 런처가 있습니다 ( http://www.python.org/dev/peps/pep-0397/ ). 이제를 사용하여 #!pythonXWindows에서도 원하는 인터프리터 버전을 확인할 수 있습니다 . 다른 의견에서 자세한 내용 보거나 PEP 397을 읽으십시오.

요약 :py script.py 파이썬 버전에 명시된 출시 #!하면 파이썬 2 #!가 없습니다. py -3 script.py파이썬 3 이 시작됩니다.


답변

@alexander에 따라 아래와 같이 기호 링크 세트를 만들 수 있습니다. 쉽게 호출 할 수 있도록 경로에 포함 된 어딘가에 놓으십시오.

> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe

c : \ bin 또는 어디를 놓아 두었 든 이제는 갈 수 있습니다

> python25


답변

  1. 파이썬 설치

    • C : \ Python27
    • C : \ Python36
  2. 환경 변수

    • PYTHON2_HOME: C:\Python27
    • PYTHON3_HOME: C:\Python36
    • Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
  3. 파일 이름 바꾸기

    • C : \ Python27 \ python.exe → C : \ Python27 \ python2.exe
    • C : \ Python36 \ python.exe → C : \ Python36 \ python3.exe
    • python2 -m pip install package
    • python3 -m pip install package

답변

예를 들어 3.6 버전 유형 py -3.6입니다. 당신은 또한 32 개 비트 및 64 비트 버전이있는 경우, 당신은 단지 입력 할 수 있습니다 py -3.6-64또는 py -3.6-32.


답변

Python을 설치할 때 다른 주요 버전의 다른 설치를 덮어 쓰지 않습니다. 따라서 2.6.6을 설치하면 2.6.5를 덮어 쓰지만 Python 2.5.x를 설치하면 Python 2.6.x를 덮어 쓰지 않습니다.

설치 만하면됩니다. 그런 다음 원하는 Python 버전을 호출합니다. 예를 들면 다음과 같습니다.

C:\Python2.5\Python.exe

Windows의 Python 2.5 및

C:\Python2.6\Python.exe

Windows의 Python 2.6 또는

/usr/local/bin/python-2.5

또는

/usr/local/bin/python-2.6

윈도우 (Linux 및 OS X 포함) 유닉스.

Unix (Linux 및 OS X 포함)에 python설치하면 마지막으로 설치 되는 일반 명령이 설치됩니다. 대부분의 스크립트가 명시 적으로 /usr/local/bin/python2.5 또는 그로부터 보호하기 위해 무언가를 호출하기 때문에 이것은 문제가되지 않습니다. 그러나 그렇게하고 싶지 않으면 다음과 같이 설치할 수 없습니다.

./configure
make
sudo make altinstall

“altinstall”은 설치를 의미하지만 명령을 대체 하지는 않습니다python .

Windows python에서는 내가 아는 한 전역 명령을 얻지 못하므로 문제가되지 않습니다.