R136A1

Windows에서 Python2, 3 동시에 사용하기 & 기본 버전 변경하기 & pip2, 3 등록하거나 기본 버전 바꾸기 본문

INSTALL·ERROR·SETTING

Windows에서 Python2, 3 동시에 사용하기 & 기본 버전 변경하기 & pip2, 3 등록하거나 기본 버전 바꾸기

r136a1x27 2021. 9. 18. 03:26

Python2, 3 동시에 사용하기

cmd를 관리자 권한으로 실행하여 mklink 명령어를 통해 

Windows가 커맨드가 입력되었을 때 우선적으로 찾는 C:\Windows 폴더에 exe로 링킹한다.

 

이에 대해서는 환경변수의 개념을 잘 알아두면 좋다.

일반 사용자가 주로 사용하는 건 "Path"변수인데 환경변수 Path에 경로가 등록된 순서에 따라 커맨드를 찾는다

 

여기서 커맨드를 찾는다는 건, python 이라는 명령어가 들어오면 시스템 변수의 상위~하위 → 사용자 변수의 상위~하위 순서로 python.exe를 찾는다.

 

즉, 어떤 경로를 환경 변수 Path에 등록했다면 [프로그램].exe 를 cmd에서 [프로그램] 과 같이 사용할 수 있는 것이다.

ㄴ사실 cmd에서는 그냥 abc를 치면 abc.exe가 실행된다.

 

좌측: 시스템 변수 / 우측: 사용자 변수

즉, mklink를 통해 비교적 상위에 있는 C:\Windows\[원하는 커맨드명]에 [설치 경로]의 python.exe를 등록시키면 

다음부터 cmd창에서 [원하는커맨드명] 만 치면 python이 실행되는 것이다.

 

mklink C:\Windows\python2.exe [파이썬 2 설치경로 default:: C:\Python27\python.exe]

mklink C:\Windows\python3.exe [파이썬 3 설치경로 default::C:\Users\[사용자명]\AppData\Local\Programs\Python\Python38\python.exe]

 

단, 윈도우가 업데이트를 거치며 python3을 입력할 경우 Microsoft Store에서 다운받는 링크로 연결된다.

이 경우에는 설정 - 앱 실행 별칭 관리 에서 아래 설정을 꺼준다.


Python 기본 버전 변경하기

.py 파일의 경우 python2 [파일명].py 로 실행할 python의 버전을 직접 입력할 수 있으나,

때때로 python만 쳤을 때 기본 버전을 현재와 다른 버전으로 사용해야만 할 때가 있다

(ex. python을 사용하는 특정 프로그램에서 버전을 직접 입력할 수 없는 경우)

 

이 경우 위의 사용자 환경변수에서 원하는 python 버전의 경로를 상위로 올려주면 된다.


pip2, 3 등록하기

같은 원리를 사용해서 버전별로 pip.exe 가 있는 경로를 등록해주면 된다.

mklink C:\Windows\pip2.exe [파이썬2 pip.exe 경로 default::C:\Python27\Scripts]

mklink C:\Windows\pip3.exe [파이썬3 pip.exe 경로 default::C:\Users\사용자명\AppData\Local\Programs\Python\Python39\Scripts]

pip 기본 버전 변경하기

같은 원리를 사용해서 사용자 환경 변수에 각 버전의 Scripts 폴더를 위로 올리거나 내린다.

 

이렇게 설정할 경우 어디까지나 임시방편이므로 python 버전을 달리하고 싶을 때마다 바꿔줘야 하기 때문에

python2를 주로 사용할 경우 docker, virtual machine, anaconda 등을 활용하여 python2 전용 환경을 구축해두면 좋을 것이다.

Comments