VS 2022에서 파이썬 개발 환경 구축하기: 사내망 SSL 오류와 인코딩 문제, 한방에 해결하는 법

최근 업무 외 시간에 파이썬으로 **’KOSPI 200 주식 시세 조회 프로그램’**을 만드는 토이 프로젝트를 시작했다. 증권사 IT 부서에 있다 보니 데이터는 익숙했지만, 막상 내 로컬 PC(Visual Studio 2022)에서 파이썬 환경을 처음부터 세팅하려니 예상치 못한 난관들이 기다리고 있었다.

코딩보다 어렵다는 ‘환경 설정’. 특히 금융권이나 보안이 강한 사내망 환경에서 개발하는 분들, 그리고 한글 윈도우 환경에서 파이썬을 다루는 분들을 위해 오늘 내가 겪은 시행착오와 가장 깔끔한 해결책(pip.ini, .editorconfig) 두 가지를 정리해 둔다.


1. 사내 보안망의 벽: pip install 시 SSL 인증서 오류

프로젝트에 필요한 finance-datareader 라이브러리를 설치하려는데, 터미널이 빨간색 에러를 뿜어냈다.

SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed...'))

원인: 회사의 보안 정책상 외부 인터넷 트래픽을 감시하기 위해 **사설 인증서(Self-signed certificate)**를 사용하기 때문이다. 파이썬의 패키지 관리자(pip)는 기본적으로 공인된 인증서만 신뢰하기 때문에, 회사의 인증서를 “믿을 수 없는 공격”으로 간주하고 연결을 차단한 것이다.

해결책: pip.ini 설정으로 신뢰할 수 있는 호스트 등록

매번 명령어에 --trusted-host 옵션을 붙이는 건 너무 번거롭다. 설정 파일을 만들어 영구적으로 해결하는 것이 정석이다.

  1. 탐색기 주소창에 %APPDATA%를 입력하여 이동 (보통 C:\Users\사용자명\AppData\Roaming)
  2. pip 라는 이름의 새 폴더 생성
  3. 그 안에 pip.ini 파일을 만들고 아래 내용을 저장

[pip.ini 파일 내용]

Ini, TOML

[global]
trusted-host = pypi.org files.pythonhosted.org

이렇게 설정해 두면 앞으로 어떤 라이브러리를 설치하더라도 보안 경고 없이 쾌적하게 설치된다.


2. 한글의 늪: 소스 코드 인코딩 오류 (cp949 vs utf-8)

패키지 설치 후 코드를 실행했더니 이번엔 런타임 에러가 발생했다.

SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xc1 in position 0: invalid start byte

원인: 한글 윈도우의 Visual Studio는 기본적으로 파일을 CP949(EUC-KR) 인코딩으로 저장한다. 하지만 파이썬 3는 소스 코드를 UTF-8로 읽는 것이 표준이다. 이 불일치 때문에 주석이나 변수에 한글이 들어가는 순간 에러가 난다.

매번 ‘다른 이름으로 저장’ -> ‘인코딩하여 저장’을 하는 것은 비효율적이다. .editorconfig 파일을 사용하면 프로젝트 수준에서 이를 강제할 수 있다.

해결책: .editorconfig로 프로젝트 표준 잡기

Visual Studio 프로젝트 최상위 경로에 .editorconfig 파일을 생성하고 아래 내용을 붙여넣는다.

[.editorconfig 파일 내용]

Ini, TOML

# 최상위 설정 파일임을 명시
root = true

# 모든 파일에 대해 적용할 설정
[*]
charset = utf-8
indent_style = space
indent_size = 4
end_of_line = lf
insert_final_newline = true
  • charset = utf-8: 이것이 핵심이다. 모든 소스 파일을 저장할 때 자동으로 UTF-8로 변환해 저장한다.
  • end_of_line = lf: 윈도우(CRLF)와 리눅스(LF) 협업 시 발생하는 줄바꿈 문제도 예방해 준다.

이 설정 파일 하나만 있으면, 협업하는 동료가 어떤 IDE를 쓰든(VS Code, IntelliJ 등도 지원) 동일한 코딩 스타일과 인코딩을 유지할 수 있다. 개발자라면 ‘국룰’로 챙겨야 할 파일이다.


3. 마무리

환경 설정만 잡았는데도 벌써 프로젝트의 절반은 한 기분이다.

  • 보안망 이슈pip.ini로,
  • 인코딩 이슈.editorconfig로.

이 두 개의 설정 파일(config files)은 개발자의 소중한 시간을 아껴주는 든든한 지원군이다. 이제 빨간 에러 메시지는 뒤로하고, 본격적으로 주식 데이터를 그리드에 띄우러 가봐야겠다.

Key Point:

  • 환경: Visual Studio 2022, Python 3.11
  • 필수 파일: %APPDATA%\pip\pip.ini, 프로젝트루트\.editorconfig

#Python #VisualStudio2022 #pip #SSL오류 #인코딩 #UTF8 #개발환경세팅 #직장인개발자

댓글 남기기