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


170

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

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

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


3
질문을하기위한 좋은 힌트는 무엇을 시도했고 실패한 방법을 설명하는 것입니다. 그래서 : 당신은 무엇을 시도했으며, 어떤 방식으로 작동하지 않습니까?
Lennart Regebro

Windows에서 이에 대한 이전 질문을 찾을 수 없으므로 제목을 변경하여 제목을 변경했습니다.
Lennart Regebro


당신은 2.7과 함께 3.3을 실행하려면 다음이 가장입니다 표준화 대답은 : - stackoverflow.com/questions/15912063/...
오마르 타리크

답변:


135

올바른 실행 파일을 시작하는 것만 큼 다른 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명령 줄에서 간단히 실행할 수 있습니다 .


41
바로 가기를 만드는 방법
Bilal Basharat

8
Windows에있을 때 바로 가기를 만들려는 Python 버전이 포함 된 폴더로 이동 한 다음 마우스 오른쪽 단추를 클릭하고 바로 가기를 만듭니다. 그런 다음 이름을 바꿀 수 있습니다.
aodj

3
긴 데드 포스트를 파는 것이 유감이지만, .lnk 확장자없이 바로 가기를 어떻게 사용할 수 있습니까?
Nathan Tornquist

7
바로 가기가 작동하지 않으면 @FJ가 말한 것처럼 간단하게 복사하고 이름을 바꿀 수 있습니다. 실패하면 명령 줄에서 ''mklink ''를 사용하여 심볼릭 링크를 만들 수 있습니다.
aodj

7
python25 및 python26이라는 bat 파일을 작성하고 적절한 버전으로 호출하는 것이 가장 좋은 방법은 아닐까요? 그런 다음이 2 개의 박쥐 파일을 바이너리와 함께 넣으면됩니다.
Jeremy Cantrell 2016 년

100

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

  • 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

pylauncher 는 2011 년 표준 추적 방식으로 승인 된 PEP 397 의 프로토 타입 구현 인 것으로 보입니다 . 런처가 여전히 Windows 용 Python과 함께 배포되지 않는 이유 또는 여전히 Vinay Sajip의 프로토 타입 구현이있는 이유를 알고 있습니까?
martineau

4
Pylauncher 파이썬 버전 3.3부터 배포되고있다 - 참조 python.org/download/releases/3.3.0을 . 또한 Vinay Sajip의 구현은 단순한 프로토 타입이 아닌 구현이라고 생각합니다.
Piotr Dobrogost

1
명확하게 해 주셔서 감사합니다. IMHO pylauncher는 최신 Python 2 버전의 일부로도 배포해야합니다. 그 버전을 사용하는 사람들은 여러 버전을 설치하려는 사람들에게 더 가능성이 높으며 (기능과 가용성을 알고 있다면 그렇게 할 가능성이 높기 때문).
마르티노

StackOverflow는 여러 업 보트를 허용해야합니다. 진심으로 당신은 어디에서 왔습니까! : D 간단하고 깨끗하며 물론 작동합니다!
3bdalla

아주 좋은 제안. 나는 두 번째 (virtualenv) 하나를 사용했습니다. 내가 찾은 차이점은 활성화 할 경로에 '\ scripts'를 포함시켜야한다는 것 c:\venvs\2.5\scripts\activate입니다. 차이가 있다면 Windows 10에 있습니다. 그 외에는 매력처럼 작동합니다. 감사합니다.
Dave Marley

53

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 이 시작됩니다.


1
이것이 내가 찾고있는 대답입니다. Python 2.7 및 Python 3.4.3으로 Windows 10을 실행합니다. 명령 프롬프트에서 "py [python_version_number]"를 입력하십시오. 예 : py -3 또는 py는 사용중인 python 버전을 호출합니다. 이것을 사용하기 전에 환경 변수를 설정해야한다고 생각합니다. 이것은 나에게 편리하다.
CodeMonkey

2
@Inuka : 환경 변수를 설정할 필요가 없습니다. Python 설치 프로그램은 .py확장 과 연관을 설정합니다 . 런처 자체는 C:\Windows에 이미 설치되어 PATH있습니다. 이런 식으로 PATH변수를 수정할 필요도 없습니다.
pepr

2
당신의 답변 배우자에게 많은 감사합니다. 이 방법으로 핍도 호출 할 수 있습니다. py -2 -m pip install SomePackage 또는 py -3.4.3 -m pip install SomePackage
CodeMonkey

나는 이것이 가장 간단하고 까다로운 해결책이라고 생각합니다.
prasad

46

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

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

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

> python25

4
영리한 아이디어. BTW mklink는 기본적으로 Windows Vista / 2008 +에서만 사용할 수 있습니다. XP 및 Server 2003 fsutil hardlink create <new filename> <existing filename>에서는 <새 파일 이름>을 사용하거나 경로의 다른 위치로 옮기거나 이동하는 대신 "하드 링크"를 만들 수 있습니다 . 그러나 하드 링크는 동일한 드라이브에서만 작동합니다.
martineau

이것은 좋은 해결책입니다. NTFS 기반 파일 시스템 없이도 잘 작동하지 않습니다.
meawoppl

예, Vista에 도입 된 NTFS 심볼릭 링크 지원이 필요합니다 (잘못되었을 수도 있습니다). XP에서 사용하려면 다른 드라이버를 사용해야 합니다 . 일반 출시 전에 어떤 단계에서 꺼진 것 같습니다.
Christopher Hackett

가장 쉬운 최상의 솔루션
giantas

15
  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

나는 이것이 다소 문제에 대한 실질적인 해결책이라고 생각합니다. 이것은 바로 가기 / 기호 링크를 사용하여 파이썬 스크립트를 호출하는 방식과 비교하여 더 편리합니다. 파일 이름을 바꾸는 대신 바이너리 (python.exe)를 복사하여 붙여 넣은 다음 버전에 따라 이름을 바꿉니다 (이 답변에 표시된대로). 그건 그렇고, python명령은 OS와 혼동됩니다.
테스트 사용자

좋은 답변입니다! 감사합니다 ~ @ 山 茶树 和 葡萄 树
Bright Chang

14

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


3
이것은 수락 된 답변이어야합니다! 정말 감사합니다!
Xonshiz

3
파일 이름을 바꿀 필요가 없으므로 타사 IDE가 정상적으로 감지 할 수 있으므로 이것이 가장 좋은 대답 일 것입니다!
Enchant97

더 많은 설명으로 대답을 향상시킬 수 py있습니까? 이 실행 파일 은 어디에 있습니까? Windows 전용 추가입니까? #!/usr/bin/env python3예를 들어 상단에있는 크로스 플랫폼 명령 줄 스크립트에 이것을 통합 할 수 있습니까?
Ed Randall

7

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에서는 내가 아는 한 전역 명령을 얻지 못하므로 문제가되지 않습니다.


도움을 주셔서 감사합니다 plz 내 두 번째 질문에도 대답하십시오 : 한 번에 두 가지를 모두 실행할 수 있습니까? 내가 2.5에서 2.6으로 성공적으로 전환함에 따라
Bilal Basharat

@Bilal Basharat : Windows는 두 가지 작업을 동시에 실행하려는 경우 멀티 태스킹 OS이며 두 가지를 모두 시작하기 때문에 질문을 이해하지 못합니다.
Lennart Regebro

현재 저는 python2.5에서 일하고 있습니다. 2.6을 어떻게 실행할 수 있습니까? Windows 명령 프롬프트에서 'python'을 쓰면 python2.5보다 python shell을 입력하라는 메시지가 나타납니다. C 드라이브에는 두 버전이 모두 설치되어 있습니다. C : \ Python2.6 \ Python.exe로 이동하면 python2.6이 일시적으로 활성화 된 것보다 내가 C : \ Python2.6 \을 떠나 자마자 다시 버전 2.5로 바뀌었다
Bilal Basharat

3
@ 빌 바사 : 나는 이미 이것에 대답했다. "임시 활성화"되지 않습니다. C : \ Python2.6 \ Python.exe 명령으로 Python 2.6을 실행했으며이를 실행하는 방법입니다. 그리고 C : \ Python2.5 \ Python.exe 명령으로 Python 2.5를 실행합니다. 이것이 두 가지를 동시에 실행하는 방법입니다.
Lennart Regebro

1
@Bilal Basharat : C:\Python2.5or 또는 C:\Python2.6디렉토리가 PATH환경 변수에 나타나면 사용하려는 .exe에 다른 경로를 명시 적으로 지정하여 재정의 하지 않는 한 해당 Python 버전이 기본값 이됩니다.
martineau


5

빠른 해킹은 다음과 같습니다.

  1. 실행하려는 Python 버전의 디렉토리로 이동하십시오.
  2. python.exe를 마우스 오른쪽 버튼으로 클릭하십시오.
  3. '선택 바로 가기 만들기 '
  4. 바로 가기에 전화 할 이름을 지정하십시오 (p27, p33 등을 사용합니다).
  5. 바로 가기를 홈 디렉토리 ( C:\Users\Your name)로 이동
  6. 명령 프롬프트를 열고 name_of_your_shortcut.lnk(I use p27.lnk)를 입력하십시오.

1

python2.7.exe로 cp c : \ python27 \ bin \ python.exe

python3.4.exe로 cp c : \ python34 \ bin \ python.exe

그들은 모두 시스템 경로에 있으며 실행하려는 버전을 선택하십시오.

C:\Users\username>python2.7
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>

C:\Users\username>python3.4
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

이것은 나를 위해 일했습니다. cp 대신 copy를 사용해야합니다. 또한이 명령을 실행할 때 경로의 어딘가에 있어야하며 c : \ python34 \ bin \ python.exe 및 c : \ python27 \ bin \ python.exe와 같은 python 설치가 경로에 있어야합니다. (바람직한 순서로).
그레고르 슈미츠

1

배치 파일을 사용하여 Windows 7에서 쉽고 효율적으로 전환하십시오.

환경 변수 대화 상자 (C : \ Windows \ System32 \ SystemPropertiesAdvanced.exe)에서

섹션에서 사용자 변수

  1. 경로 환경 변수에 % pathpython %을 추가했습니다.

  2. 파이썬 경로에 대한 참조를 제거했습니다.

섹션 시스템 변수에서

  1. 파이썬 경로에 대한 참조를 제거했습니다.

모든 Python 설치에 대해 배치 파일을 만들었습니다 (예 : 3.4 x64)

이름 = SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-) 만 기억하십시오.

파일 내용 =

     Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin

     setx PathPython %PathPython%

버전 간을 전환하기 위해 관리자 모드에서 배치 파일을 실행합니다.

!!!!! 변경 사항은 SUBSEQUENT 명령 프롬프트 창 OPENED에 적용됩니다. !!!

그래서 나는 그것을 정확하게 제어 할 수 있습니다.


0

Windows에서 여러 버전의 Python을 실행하는 가장 쉬운 방법은 다음과 같습니다.

1) python.org/downloads 에서 최신 버전의 Python 을 다운로드하십시오. 시스템에 적합한 버전을 선택하여 .

2) 설치 프로그램을 실행하고 python 3에서 경로를 자동으로 설정 하려면 python 3.x를 경로추가를 선택 하십시오 (확인란을 클릭하면됩니다). 파이썬이 설치까지 파이썬이 열려있는 경우, 당신이 원하는대로 설정을 선택하지만, 단지 세트에 기억 경로에 추가 python.exe를로컬 하드 드라이브에 설치합니다 , 지금 바로 옆에 클릭하고 마무리에 설치 기다립니다.

3) 두 설치가 완료되면 내 컴퓨터를 마우스 오른쪽 버튼으로 클릭-속성으로 이동-고급 시스템 설정 선택-환경 변수로 이동-시스템 변수 아래에서 새로 만들기를 클릭 하고 변수 이름PY_PYTHON 인시스템 변수 를 추가 하고이 변수 값3으로 설정하십시오 . 이제 확인을 클릭하십시오 하면 완료됩니다.

4) 이제 이것을 테스트하기 위해 명령 프롬프트를 엽니 다 . python 또는 py 유형 이 있으면 python3을 열어야합니다. .

5) 이제 exit () 를 입력하여 python3을 종료하십시오 . 이제 py -2를 입력하십시오 하면 python 2가 열립니다.

이 방법으로 작동하지 않으면 컴퓨터를 다시 시작하고 문제가 지속되면 모든 것을 제거하고 단계를 반복하십시오.

감사.


0

Anaconda Navigator에서 다른 파이썬 개발 환경을 그래픽으로 생성 할 수 있습니다. 다른 파이썬 버전으로 작업하는 동안 동일한 문제가 발생하여 아나콘다 네비게이터를 사용하여 다른 파이썬 개발 환경을 만들고 각 환경에서 다른 파이썬 버전을 사용했습니다.

여기에 대한 도움말 문서가 있습니다.

https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/


-1

Rapid Environment Editor 를 사용하면 원하는 Python 설치 디렉토리를 맨 위로 푸시 할 수 있습니다. 예를 들어, c : \ Python27 디렉토리에서 Python을 시작하려면 c : \ Python27 디렉토리가 Path 환경 변수의 c : \ Python36 디렉토리 앞 또는 위에 있는지 확인하십시오. 내 경험으로는 Path 환경에서 발견 된 첫 번째 python 실행 파일이 실행되고 있습니다. 예를 들어 Python27과 함께 MSYS2를 설치했으며 C : \ Python36 이전의 경로에 C : \ MSYS2를 추가 했으므로 C : \ MSYS2 .... 폴더의 python.exe가 실행됩니다.


-4

올바른 실행 파일을 호출하십시오.


현재 2.5에서 일하고 있습니다. 어떻게 2.6을 실행할 수 있는지 간단하게 설명하십시오. Windows 명령 프롬프트에서 파이썬 쉘을 입력하기 위해 'python'을 작성해야했습니다. 2.5입니다. C 드라이브에는 두 버전이 모두 설치되어 있습니다.
Bilal Basharat

대신에이 python쉘 시도를 입력 python2.5하거나 python2.6. 나는 Windows 사용자 아니지만, 유닉스에는 / usr / 빈 / 파이썬, 나는 창에서 파이썬은 유사한 방식으로 설치되어 있으리라 믿고있어 일반적으로 정규화 된 실행 파일의 별칭입니다
albertov

1
Windows에서 실행 파일 이름은 항상 python.exe이지만 실행 파일의 경로를 변경합니다. 그것은 이미 여러 번 설명되었습니다.
jgritty
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.