개요

회사 내부 서버에 연결하여 각 프로젝트를 빌드하던 도중 문제가 발생했다. (구체적인 오류 내용은 이하와 같다.) 프로젝트를 빌드하기 위한 버전은 파이썬 2점대인데 현재 내 pc에 설치되어있는 파이썬 버전은 3점대였기 때문이다. 그러나 나는 ai 개발할 때 파이썬 3점대를 사용해야 했기 때문에 두 버전 모두 필요했다. 차장님께 여쭤보니 파이썬 2점대와 3점대를 동시 설치 -> 파이썬 2점대가 나오는 명령어와 3점대가 나오는 명령어를 별도 설정하면 된다고 하셨다. 고민의 시작...

Traceback (most recent call last):
  File "C:\Workspace\scratch-blocks\build.py", line 38, in <module>
    raise Exception("Blockly build only compatible with Python 2.x.\n"
Exception: Blockly build only compatible with Python 2.x.
You are using: 3.12.0 (tags/v3.12.0:0fb18b0, Oct  2 2023, 13:03:39) [MSC v.1935 64 bit (AMD64)]

 


 

1. 파이썬 2점대와 3점대를 모두 설치

파이썬 공식 홈페이지를 들어가 설치하면 된다. 어렵지 않다! 내가 설치해야 하는 버전은 빌드용 2.7.18이었고, ai 개발용 3.12였다. 설치 후 cmd 창을 열어 cmd의 루트 경로에서 버전을 확인하면 다음과 같이 나온다. 즉 현재 파이썬 2점대를 인식하지 못하므로, 설치만 하고 빌드를 하면 위 오류가 동일하게 발생한다. 따라서 파이썬 2점대를 인식할 수 있는 명령어를 등록해주어야 한다. 

python --version  // 결과 : Python 3.12.0
py --version  // 결과 : Python 3.12.0

 


 

2. 파이썬 명령어 등록 및 확인

등록해야 하는 명령어는 파이썬 2점대는 "python", 3점대는 "py"로 정해져 있었다. (따라서 후자는 별도로 명령어를 등록할 필요가 없었다.) 왜냐하면 빌드할 때 npm이 package.json을 방문하여 빌드 명령어를 찾는데, 그곳에 "python"으로 2점대의 파이썬을 실행시키기 때문이다. package.json은 PM을 제외하고는 수정할 수 없으므로 그곳에 적힌 명령어로 나도 맞추어야 했다.

 


 

파이썬 2점대 설치 경로 알아내기

파이썬 2점대의 설치 경로를 알아내야 하는데, 이는 "python" 명령어를 실행하면 해당 설치 경로에 있는 파일이 동작하도록 만들기 위해서다. 참고 자료에서도 그렇고, 나도 C 밑에 바로 저장되어 있었으므로 " C:\Python2718" 이라고 볼 수 있다. 

파이썬 설치 경로 확인

 


 

파이썬 2점대 링크 파일 생성
  • cmd를 관리자 권한으로 실행
    : 매우 중요하다!!!!!!! 관리자 권한으로 실행하지 않으면 '액세스가 거부되었습니다.' 하는 오류가 발생한다. 관리자여야 링크 생성할 수 있는 '액세스'가 있음을 기억하자!
  • 파이썬 2점대 명령어를 실행할 위치로 이동
    : 매우 중요하다!!!!!!! 나는 빌드하는 프로젝트 위치 ( ex. C://Workspace/gui) 로 cmd를 이동하지 않고, 계속 루트 경로에서 명령어를 생성하여 빌드할 때 명령어가 정상적으로 실행되지 않았다. 절대 꼭 까먹지 말고 위치 이동!!!!
  • mklink C:\Windows\python.exe [파이썬 2점대 설치경로]  실행
    : 링크를 만들다 | Windows 하에서 실행할 명령어(python) 입력 | 파이썬 2점대 설치 경로 라는 의미이다. 내가 실행했던 구체적인 코드와 결과는 다음과 같다. 
mklink C:\Windows\python.exe C:\Python27\python.exe
// 실행 결과 : C:\Windows\python2.exe <<===>> C:\Python2718\python.exe에 대한 기호화된 링크를 만들었습니다.

 


 

파이썬 명령어로 버전 확인
python --version // 실행 결과 : Python 2.7.18

 


 

마무리

위 과정을 끝내고 빌드를 다시 했더니 정상적으로 빌드가 가능했고, localhost:port번호로 자사 제품에 접속할 수 있었다. 사실 위와 같은 과정으로 pip 명령어 설정도 가능한데, 오늘의 글에서는 생략한다! 귀찮으니까 

2023.10.19 4번째 완료

 

 

+ Recent posts