Windows에서 Python 2.x와 Python 3.x를 모두 설치하는 방법


230

Windows 7의 Python 3.x에서 대부분의 프로그래밍을 수행하지만 이제는 Python 2.x가 필요한 Python Imaging Library (PIL), ImageMagick 및 wxPython을 사용해야합니다.

Windows 7에 Python 2.x와 Python 3.x를 모두 설치할 수 있습니까? 스크립트를 실행할 때 어떤 버전의 Python을 실행해야합니까? 위에서 언급 한 프로그램이 한 번에 설치된 여러 버전의 Python을 처리 할 수 ​​있습니까? 나는 이것을 쓸모없는 방법으로 시간과 시간을 검색했습니다.

감사.



2
예, @NickT가 말한 것처럼 가장 쉽습니다. 불행히도, 아래의 답변 중 어느 것도 간단하고 간단한 접근법을 제공하지 않습니다. (버전 3.3을 언급 것들은 가까운 온다.) 더 나은 답변을 들어, 허용 중복 질문 미만 참조 : stackoverflow.com/a/17245543/1593924 , 하나와 함께 또는없이 실행 새로운 "평"을 사용, 간단히 말해서을 -3 매개 변수. 그리고 스크립트에 shebang (#!)을 추가하여 매개 변수가 필요하지 않도록하십시오.
Jon Coombs

1
또한, 일부는 세부 내가 여기에 도움이 게시 발견 : stackoverflow.com/a/13533958/1593924을
존 쿰즈에게

답변:


150

이 작업을 수행하는 공식적인 방법은 다음과 같습니다.

Windows 7에 Python의 두 가지 (또는 설치 프로그램을 사용하여) 버전을 설치하십시오 (3.3 및 2.7로 작업).

아래의 지침에 따라 필요에 따라 매개 변수를 변경하십시오.

다음 환경 변수를 작성하십시오 (더블 클릭시 기본값으로).

Name:  PY_PYTHON
Value: 3

특정 인터프리터에서 스크립트를 시작하려면 다음 shebang을 추가하십시오 (스크립트 시작).

#! python2

특정 인터프리터를 사용하여 스크립트를 실행하려면 다음 프롬프트 명령을 사용하십시오.

> py -2 MyScript.py

특정 통역사를 시작하려면 :

> py -2

기본 인터프리터를 시작하려면 (PY_PYTHON 변수로 정의) :

> py

자원

문서 : Windows에서 Python 사용

PEP 397 -Windows 용 Python 런처


8
또한 easy_install 또는 pip 를 두 버전 모두와 함께 사용 하려면 포함하도록 경로를 변경하십시오 c:\python35;c:\python35\scripts;c:\python27\scripts;. 이것은 사용 할 수 있습니다 pip2/을 pip3, 및 easy_install-2.7/ easy_install-3.5대신 pip하고 easy_install.
rdtsc

1
자체 Python을 제공하지 않고 시스템 버전 사용을 고집하고 실행기를 존중하지 않는 다양한 프로그램에서는 작동하지 않습니다.
조나단 볼드윈

1
아니요, 경로에 파이썬을 추가하지 마십시오. 사용하십시오 py -m pip install .... py위와 같이 pip를 실행할 Python을 선택한 후 스위치를 추가하십시오 .
Mark Tolonen

75

내가 한 것은 2.7.6과 3.3.4를 모두 다운로드 한 것입니다. Python 3.3.4에는 환경 변수에 경로를 추가하는 옵션이 있습니다. 기본적으로 Python 2.7.6을 수동으로 추가했습니다.

어떻게...

  1. 시작> 환경의 검색 유형에서 "계정에 환경 변수 편집"을 선택하십시오 1

  2. 경로로 스크롤하여 경로를 선택한 후 편집을 클릭하십시오.

  3. C : \ Python27을 추가하십시오; 따라서 두 버전의 Python에 대한 경로가 있어야하지만 그렇지 않은 경우 쉽게 편집 할 수 있습니다 ..... C : \ Python27; C : \ Python33;

  4. C : \의 Python27 폴더로 이동하여 python.exe의 사본 이름을 python2.exe로 바꿉니다.

  5. C : \의 Python34 폴더로 이동하여 python.exe의 사본 이름을 python3.exe로 바꿉니다.

  6. 테스트 : command 프롬프트를 열고 python2 .... BOOM을 입력하십시오! 파이썬 2.7.6. 나가십시오.

  7. 테스트 : 명령 프롬프트를 열고 python3 .... BOOM을 입력하십시오! 파이썬 3.4.3. 나가십시오.

참고 : (4 단계와 5 단계에서 pip 명령을 중단하지 않으려면 이름이 바뀐 파일과 동일한 디렉토리에 python.exe의 사본을 보관하십시오)


43
이것은 pip2와 pip3을 모두 파괴합니다! 파이썬을 바꾸지 말고 복사하여 두 번째 파일의 이름을 python2 / python3으로 바꾸십시오.
brunofitas

1
단지 한 마디 만, 이름을 되돌릴 때까지 파이썬을 제거 할 수 없었습니다. 내 충고는 사본을 만들고 이름을 바꾸는 것이지만 브루노가 언급 한 것처럼 ** 원래의 python.exe 파일은 그대로 남겨 두십시오.
Logic1

2
답변에서 brunofitas 피드백을 처리 할 수 ​​있습니까?
030

예, 방금 Python3 설치에서 python.exe의 이름을 python3.exe로 변경했습니다. 나는 이것이 nix 환경의 파이썬에서 자동으로 발생한다고 생각합니다. 물론 .exe 파일은 없지만 python2 및 python3 프로그램이 있습니다. :)
user3870315

파이썬 버전 중 하나에 의존하는 라이브러리 / 플러그인이 있다면, PATH 환경 변수에서 버전이 먼저
나오는지

51

창에 여러 버전이 있습니다. 기본 설정이 아닌 버전의 exe 이름을 변경합니다.

python.exe-> python26.exe

pythonw.exe-> pythonw26.exe

패키지 설치 프로그램의 경우 대부분의 exe 설치 프로그램을 사용하면 패키지를 추가하기 위해 Python 설치를 선택할 수 있습니다. 수동 설치의 경우 --prefix 옵션을 확인하여 패키지를 설치할 위치를 정의하십시오.

http://docs.python.org/install/index.html#alternate-installation-windows-the-prefix-scheme


이것은 효과가 있었다. 이 변경을 수행하기 전에 Python 2.7에서 프로그램을 실행하려고 할 때 여전히 Python 3.1에서 실행되었습니다 (Windows 7에서 동일한 이름을 가진 두 개의 다른 프로그램을 처리 할 수 ​​없기 때문일 수 있습니다). 그림과 같이 exe의 이름을 바꾼 후 모든 것이 잘되었습니다.
dln385

4
@ dln385 : 질문에 답변 한 경우 확인 표시를 클릭하여 동의해야합니다.
dappawit

1
이것은 또한 나를 위해 일했습니다. Python 2.7과 Python 3.2가 충돌했습니다. Python 3.2를 먼저 설치하고 환경 변수로 적절하게 설정했기 때문에 프롬프트에서 Python 2.7에 액세스 할 수 없었습니다 (대신 Python 3.2를 얻었습니다). 기본 Python 2.7로 사용하고 싶었으므로 python.exe를 python3.2.exe로 변경하고 Python 2.7의 python.exe를 변경하지 않았습니다. 그 트릭을했다.
Robert Smith

나는 한동안 창에 새로운 python3를 설치하지 않은,하지만 내가 가지고있는 버전으로 핍을 포함 pip3하고 pip3.4. (또한 포함 pip하지만 삭제하면 python2와의 충돌을 해결해야한다고 생각합니다). 실제로 C:\Python34\Scripts내에 Path없어서 핍 관련 문제가 없었습니다 ...
monkut

30

Anaconda Python을 사용하면 다양한 환경을 쉽게 설치할 수 있습니다.

Anaconda Python 2.7을 설치했고 Python 3.4 환경을 원한다고 가정하십시오.

conda create -n py34 python=3.4 anaconda

그런 다음 환경을 활성화하십시오.

activate py34

그리고 비활성화하려면 :

deactivate py34

(Linux에서는을 사용해야합니다 source activate py34.)

연결:

Anaconda Python 다운로드

환경에 대한 지침


IMO conda는 다른 Python 설치를 혼란스럽게 만드는 가장 좋은 방법입니다. 나는 Anaconda로 이사하기 전에 많은 것들을 망쳤습니다.
jrinker

11

동일한 시스템에 모든 버전의 Python을 설치하고 실행하려면 아래 내 가이드를 따르십시오.


예를 들어 동일한 Windows 시스템에 Python 2.x 및 Python 3.x를 설치한다고 가정하십시오.

  1. 원하는 위치에 이진 릴리스를 모두 설치하십시오.

    • 메시지가 표시되면 파일 확장자를 등록하지 마십시오.
    • PATH 환경 변수에 자동으로 추가하지 마십시오
  2. pythonPATH에서 처음 만나는 실행 파일을 간단히 명령 으로 실행하면 시작됩니다. 즉, Python 디렉토리를 수동으로 추가하십시오. 입력 할 때 처음 추가 한 항목이 선택됩니다 python. 연속적인 파이썬 프로그램 (디렉토리가 PATH에 배치되는 순서가 증가)은 다음과 같이 선택됩니다.

    • 두 번째로 py -2 python
    • 세 번째 python등의 경우 py -3
  3. "파이썬"의 순서에 관계없이 다음을 수행 할 수 있습니다.

    • py -2 (Python 3.x 기능) 명령을 사용하여 Python 2.x 스크립트를 실행하십시오 (예 : PATH에있는 첫 번째 Python 2.x 설치 프로그램이 선택됩니다)
    • 다음 명령을 사용하여 Python 3.x 스크립트를 실행하십시오. 또는 py -3 (즉, PATH에있는 첫 번째 Python 3.x 설치 프로그램이 선택됩니다)

내 예에서는 Python 2.7.14가 먼저 설치되고 Python 3.5.3이 설치되어 있습니다. 이것이 내 PATH 변수로 시작하는 방법입니다.

PATH = C : \ Program Files \ Microsoft MPI \ Bin \; C : \ Python27; C : \ Program Files \ Python_3.6 \ Scripts \; C : \ Program Files \ Python_3.6 \; C : \ ProgramData \ Oracle \ Java \ javapath; C : \ 프로그램 파일 (x86) \ Common Files \ Intel \ Shared

...

Python 2.7이 첫 번째이고 Python 3.5가 두 번째입니다.

  • 따라서 python명령을 실행하면 python 2.7이 시작됩니다 (Python 3.5의 경우 동일한 명령이 Python 3.5를 시작합니다).
  • Running py -2은 Python 2.7을 시작합니다 (두 번째 Python이 Python 3.5이므로 호환되지 않기 때문에 py -2). Running py -3은 Python 3.5를 시작합니다 (Python 3.x이므로)
  • 나중에 경로에 다른 파이썬이 있다면 다음과 같이 시작 py -4합니다.. Python 버전 4가 출시되면 변경 될 수 있습니다.

이제 py -4py -5등 내 시스템 출력에 : Requested Python version (4) not installed또는 Requested Python version (5) not installed

잘만되면 이것은 충분히 분명하다.


파이썬 배포판 중 하나에 pip 설치를 어떻게 지정할 수 있습니까?
Víctor Martínez

첫 번째 파이썬의 경우 간단히 type을 찾으십시오 pip. 설치된 다른 파이썬의 경우 경로를 수동으로 지정해야합니다. C:\Python27\Scripts\pip.py [parameters]. (물론, 바로 가기로 환경 변수에 원하는 exe를 넣을 수 있습니다.)
Nikos

@ Nik-Lz "py -2"명령이란 무엇입니까? 나는 내 창문 7에 이것들을 가지고 있지 않은 것 같습니다.
Janos

2
이것은 여러 버전의 경우 Windows에서 파이썬을 어떻게 사용해야합니까?
getName


8

수행 할 수있는 작업은 다음과 같습니다.

cmder를 설치 하십시오 . cmd 터미널과 마찬가지로 Cmder를 열고 사용하십시오. 명령 별명을 사용하여 명령 별명을 작성하십시오.

나는 다음을 수행했다.

alias python2 = c:\python27\python.exe
alias python3 = c:\python34\python.exe

그리고 그게 다야! ;-)


6
set-alias python2 c:\python27\python.exe
예언자 다니엘

Powershell을 사용하는 경우 set-alias를 예제 쇼로 사용하십시오. 이 경우 Cmder를 설치할 필요가 없습니다.
예언자 다니엘

@ProphetDaniel 별도의 답변으로 게시해야합니다. 원래 질문에 완전히 대답합니다.
Dr_Zaszuś

7

나는 실제로 흥미로운 해결책을 생각했다. Windows에서는 프로그램의 별칭을 쉽게 지정할 수 없지만 대신 현재 프로그램을 호출하는 이름이 바뀐 배치 파일을 만들 수 있습니다.

pip를 포함하여 많은 부분을 망칠 수있는 실행 파일의 이름을 바꾸는 대신 python2.exe와 동일한 디렉토리에 python2.bat 파일을 작성하십시오. 그런 다음 다음 줄을 추가하십시오.

%~dp0python %*

이 구식 구문은 무엇을 의미합니까? 글쎄, 그것은 배치 스크립트입니다 (Windows 버전의 bash). % ~ dp0은 현재 디렉토리를 가져오고 % *는 스크립트에 전달 된 모든 인수를 파이썬으로 전달합니다.

python3.bat에 대해 반복

pip 및 기타 유틸리티에 대해서도 동일한 작업을 수행 할 수 있습니다. 파일에서 python 단어를 pip로 바꾸거나 파일 이름을 바꾸십시오. 별명은 파일 이름이 무엇이든됩니다.

무엇보다도, PATH에 추가되면 Windows는 확장을 무시하므로 실행 중입니다.

python3

python3 버전을 시작하고 python2 명령은 python2 버전을 시작합니다.

BTW, 이것은 Spyder가 Windows의 경로에 자신을 추가하는 데 사용하는 것과 동일한 기술입니다. :)


1
기존 파이썬 파일을 수정하지 않고 멋진 솔루션.
Om Prakash

3

하나의 머신에 여러 버전의 Python을 설치할 수 있으며, 설치하는 동안 하나의 Python 파일 확장자와 연관되도록 선택할 수 있습니다. 모듈을 설치하면 버전마다 다른 설치 패키지가 있거나 대상으로 할 버전을 선택할 수 있습니다. 일반적으로 인터프리터 버전의 site-packages 디렉토리에 설치되므로 충돌이 없어야합니다 (그러나 테스트하지는 않았습니다). 파이썬 버전을 선택하려면 기본 인터프리터가 아닌 경우 인터프리터의 경로를 수동으로 지정해야합니다. 내가 아는 한, 동일한 PATH 및 PYTHONPATH 변수를 공유하므로 문제가 될 수 있습니다.

참고 : Windows XP를 실행합니다. 다른 버전에서이 변경 사항 중 하나라도 변경 될지 모르겠지만 그 이유가 없습니다.


3
파이썬 2.5, 2.6 및 3.1이 모두 동시에 설치되어 있습니다. 필요한 각 버전에 대해 모든 설치 프로그램을 실행하는 것보다 더 열심히해야 할 수도 있습니다.
SingleNegationElimination 2

3

Python 2.7 및 Python 3.4가 설치된 Windows 컴퓨터에서 수행 한 작업은 Python.exe 파일과 동일한 디렉토리에 간단한 .bat 파일을 작성했습니다. 그들은 다음과 같이 보입니다.

cmd /k "c:\python27\python.exe" %*

% *를 사용하면 나중에 인수 (Python 파일)를 추가 할 수 있습니다. 나는 / k가 스크립트 실행을 마친 후에 프롬프트를 열어 둔다고 믿는다. 그런 다음 python27.bat로 저장합니다. 그런 다음 Python 3 디렉토리로 이동하여 박쥐 파일을 만듭니다. 이제 내 명령 줄에 쓸 수 있습니다

Python27 helloworld.py

또는

Python34 helloworld.py

그리고 각 버전의 Python에서 실행됩니다. c : \ python27c : \ python34 가 환경 변수에 있는지 확인하십시오 .

나는 여기 에서 내 대답을 얻었다


2

여기 지침을 따라 세 단계로 수행했습니다. http://ipython.readthedocs.io/en/stable/install/kernel_install.html . 현재 Windows 8에서 Python 2.x를 실행 중이며 Anaconda 4.2.13이 설치되어 있습니다.

1) 먼저 최신 버전의 Python을 설치하십시오.

conda create -n python3 python=3 ipykernel

2) 다음으로 python3 활성화

activate python3

3) 커널을 설치하십시오 :

python -m ipykernel install --user

Python 3이 설치되어 있고 2를 설치하려면 위의 2와 3을 전환하십시오. 새 노트북을 열면 이제 Python 2 또는 3 중에서 선택할 수 있습니다.


1

Python을 설치 한 후 시스템 환경 변수를 확인하십시오. python 3의 디렉토리는 PATH 변수에 먼저 있고 python 2에 있어야합니다.

가장 먼저 일치하는 경로 변수는 Windows가 사용하는 것입니다.

이 시나리오에서는 항상 py -2가 python2를 시작합니다.


1

나는 그 문제를 직접 겪었고 발사기를 .bat로 만들었으므로 발사하려는 버전을 선택할 수 있습니다.

유일한 문제는 .py가 python 폴더에 있어야한다는 것입니다. 그러나 어쨌든 여기 코드가 있습니다.

Python2의 경우

@echo off
title Python2 Launcher by KinDa
cls
echo Type the exact version of Python you use (eg. 23, 24, 25, 26)
set/p version=
cls
echo Type the file you want to launch without .py (eg. hello world, calculator)
set/p launch=
path = %PATH%;C:\Python%version%
cd C:\Python%version%
python %launch%.py
pause

Python3의 경우

@echo off
title Python3 Launcher by KinDa
cls
echo Type the exact version of Python you use (eg. 31, 32, 33, 34)
set/p version=
cls
echo Type the file you want to launch without .py (eg. hello world, calculator)
set/p launch=
cls
set path = %PATH%:C:\Python%version%
cd C:\Python%version%
python %launch%.py
pause

.bat로 저장하고 내부의 지시 사항을 따르십시오.


0

가장 많이 사용하는 것을 설치하십시오 (필자의 경우 3.3). 그러면 유휴 상태에서 원하는 것을 사용하게됩니다.

또는 (python3.3 README에서) :

여러 버전 설치

Unix 및 Mac 시스템에서 동일한 설치 접두사 (--prefix 인수를 configure 스크립트에 사용)를 사용하여 여러 버전의 Python을 설치하려는 경우 다른 버전을 설치해도 기본 Python 실행 파일을 덮어 쓰지 않도록주의해야합니다. "make altinstall"을 사용하여 설치된 모든 파일과 디렉토리는 주 버전과 부 버전을 포함하므로 나란히 살 수 있습니다. "make install"은 $ {prefix} /bin/pythonX.Y를 나타내는 $ {prefix} / bin / python3도 만듭니다. 동일한 접두사를 사용하여 여러 버전을 설치하려는 경우 "기본"버전을 결정해야합니다 (있는 경우). "make install"을 사용하여 해당 버전을 설치하십시오. "make altinstall"을 사용하여 다른 모든 버전을 설치하십시오.

예를 들어 2.7을 기본 버전으로 사용하여 Python 2.6, 2.7 및 3.3을 설치하려면 2.7 빌드 디렉토리에서 "make install"을 실행하고 다른 버전에서는 "make altinstall"을 실행합니다.


0

방금 설치해야했습니다. 그런 다음 http://defaultprogramseditor.com/ 의 "파일 형식 설정"/ "컨텍스트 메뉴"/ search : "py" 에서 무료 (휴대용) 소프트를 사용 하고 .py 파일을 선택하고 '열기'명령을 추가했습니다. 2 'IDLE로 열기'라는 기존 명령을 복사하고 이름을 IDLE 3.4.1 / 2.7.8로 변경 한 다음 프로그램 경로에서 해당 버전의 파일 번호를 다시 표시하여 IDLE을 수행합니다. 이제 .py 파일을 마우스 오른쪽 버튼으로 클릭하고 사용하려는 유휴를 선택했습니다. 원하는 경우 직접 통역사와 동일한 작업을 수행 할 수 있습니다.


-1

Python IDE에서 코드를 실행하는 경우에만 작동

Windows 운영 체제에 Python 2.7과 Python 3.3이 모두 설치되어 있습니다. 파일을 시작하려고하면 일반적으로 python 2.7 IDE에서 열립니다. 이 문제를 해결하는 방법은 python 3.3에서 코드를 실행하기로 선택했을 때 python 3.3 IDLE (Python GUI)을 열고 파일을 선택하고 IDLE로 파일을 열고 저장했습니다. 그런 다음 코드를 실행할 때 현재 코드를 연 IDLE로 실행됩니다. 2.7과 반대로 작동합니다.


-1

Windows 10pro에 python 2.7.13과 python 3.6.1을 모두 설치했으며 pip2 또는 pip3을 시도 할 때 동일한 "치명적 오류"가 발생했습니다.

이 문제를 해결하기 위해 python 2 및 python 3 파일의 python.exe 위치로 이동하여 각각의 복사본을 만든 다음 각 복사본의 이름을 python2.exe 및 python3.exe로 변경했습니다. 설치 폴더. 따라서 각 파이썬 설치 폴더에는 파이썬 버전에 따라 python.exe 파일과 python2.exe 또는 python3.exe가 있습니다.

pip2 또는 pip3을 입력했을 때 문제가 해결되었습니다.


-2

다른 작업을 수행 할 수 없다면 선택한 버전 (iPython 사용을 선호 함)에서 인터프리터를 열고 다음을 수행하십시오.

import subprocess

subprocess.call('python script.py -flags')

현재 운영중인 파이썬 버전을 사용합니다. 단일 스크립트에 대해서는 잘 작동하지만 실행중인 스크립트가 많으면 신속하게 처리가 중단됩니다.이 경우 항상 이러한 호출을 모두 포함하여 배치 파일을 만들 수 있습니다. 가장 우아한 대답은 아니지만 작동합니다.

다른 파이썬 버전의 별명을 리눅스로 만들 수있는 방법이 있습니까?

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