이반 기사에서는 파이썬을 올바른 방법으로 설치하는 방법을 살펴본다. 적절한 버전을 선택하는 방법, 여러 버전이 상호 간섭하지 않도록 하는 방법, 그리고 그 과정에서 직면할 여러 위험 및 잠재적 함정을 피하는 방법을 알아보도록 하자.
적절한 파이썬 버전 및 배포판 선택하기
서드파티 모듈과의 호환성을 위해 가장 안전한 방법은 메이저 포인트 리비전이 최신 버전보다 한 단계 이전인 파이썬을 선택하는 것이다.기사 작성 시점 현재, 최신 버전은 파이썬 3.8.1이므로 안전한 선택은 파이썬 3.7 최신 업데이트 버전인 파이썬 3.7.6을 사용하는 것이다. 언제든 최신 버전의 파이썬을 통제된 환경 하에서(예를 들어 VM 또는 테스트 머신) 테스트해 볼 수 있지만 한 버전 뒤로 가면 보편적인 서드파티 파이썬 패키지와의 호환성을 최대화할 수 있다.
파이썬은 리눅스와 비슷하게 배포판도 다양하다. 리눅스와의 차이는 파이썬은 하나의 절대 표준, 즉 “공식” 에디션인 C파이썬(CPython)을 제공한다는 점이다. C파이썬은 파이썬 소프트웨어 재단이 python.org에서 제공하는 버전이다. 가장 안전하고 가장 폭넓게 호환되는 배포판이며 이걸 선택한다는 이유로 해고될 일도 결코 없다(나중에 각자의 경우에 맞는 특정 사용례를 다루는 파이썬 배포판을 알아보는 것도 좋지만 이번 기사에서는 다루지 않는다).
중요한 한 가지는 (특히 윈도우에서) 32비트와 64비트 버전 파이썬 중에서 선택하는 것이다. 다음과 같은 이유로 대부분의 경우 64비트를 선택한다.
- 대부분의 현대 운영체제는 기본적으로 64비트 파이썬을 사용한다. 윈도우 사용자는 64비트 윈도우에서 32비트 파이썬 에디션을 실행할 수 있지만 이 경우 약간의 성능 저하를 감수해야 한다.
- 32비트 파이썬과 32비트 앱은 일반적으로 한번에 4GB의 메모리만 이용할 수 있다. 64비트 애플리케이션에는 이러한 제한이 없으므로 파이썬용으로 나온 많은 데이터 분석 및 머신러닝 툴이 64비트 버전에서 더 원활하게 작동한다. 일부는 64비트 버전만 제공하기도 한다.
32비트 파이썬 버전을 선택해야 하는 경우는 32비트 윈도우를 사용 중이거나 32비트 에디션에서만 제공되는 사드파티 모듈을 사용해야 하는 경우, 둘 뿐이다.
윈도우에 파이썬을 잘 설치하는 방법
윈도우에서 파이썬을 설치하는 방법은 다른 애플리케이션과 동일하다. 설치 관리자가 설치 과정을 안내하는 방식이다.윈도우용 파이썬 설치 관리자는 기본적으로 사용자의 AppData 디렉터리에 실행 파일을 배치하므로 관리자 권한이 필요 없다. 시스템의 유일한 사용자라면 찾기 쉽도록 더 상위 디렉터리(예를 들어 C:\Python3.7)에 설치할 수도 있다. 윈도우 설치 관리자가 사용자에게 설치 디렉터리를 묻는다.
적절한 윈도우용 파이썬 설치 프로그램 선택
python.org는 여러가지 형태의 윈도우용 파이썬을 제공한다. 앞서 언급한 32비트(“x86”), 64비트(“x86-64”) 버전 외에 임베드 가능한 zip 파일, 실행 파일 기반 설치 프로그램, 웹 기반 설치 프로그램을 선택할 수 있다. 각각에 대한 설명은 다음과 같다.- 실행 파일 기반 설치 프로그램은 파이썬 설치 프로세스를 실행하는 .EXE 파일이다. 기본적이고 사용하기 쉬워 가장 많이 사용된다.
- 웹 기반 설치 프로그램은 실행 파일 기반 설치 프로그램과 같지만 설치에 필요한 각 부분을 개별적으로 다운로드한다는 차이점이 있다. 따라서 실제 설치 프로그램의 크기가 훨씬 더 작다. 물론 네트워크 연결이 필요하다.
- 임베드 가능한 zip 파일은 종속성 없이 필요한 모든 요소가 포함된, 단일 폴더에 들어가는 최소한의 파이썬 런타임이다. 파이썬 앱을 수동으로 배포하려는 경우 또는 뭔가를 즉석으로 테스트하기 위해 1회성 파이썬을 설치해야 하는 경우 번들로 묶기에 유용하다. 그러나 임베드 가능한 zip에는 전체 설치에 포함되는 pip 또는 기타 유용한 툴이 포함되지 않으므로 이 방법은 전문가에게 적합하다.
윈도우용 패키지 관리자를 사용한 파이썬 설치
다른 방법은 윈도우의 패키지 관리 시스템 중 하나를 사용하는 것이다. 닷넷용 패키지 관리자인 누겟(NuGet)은 리포지토리에 파이썬을 제공한다. 그러나 누겟 리포지토리에 제공되는 파이썬은 범용으로 사용할 독립적 파이썬 인스턴스 설치가 아니라 닷넷 애플리케이션의 한 구성요소로 사용되는 경우를 위해 제공된다. 대부분의 경우 그냥 일반적인 방법으로 파이썬을 설치하는 것이 파이썬 인스턴스를 관리하기가 더 쉽다.더 범용적인 윈도우 패키지 관리 시스템인 초코레티(Chocolatey)도 파이썬을 제공한다. 초코레티는 파이썬 설치 프로그램을 실행하고 시스템에서 파이썬 언어 런타임을 추적하기 위한 편리한 방법이므로 누겟보다는 더 나은 선택이다. 단, 동일한 시스템에서 초코레티 설치와 일반 파이썬 설치를 가급적 혼용하지 않는 것이 좋다.
리눅스에 파이썬을 잘 설치하는 방법
리눅스 배포판은 서로 차이가 크므로 리눅스에서 파이썬을 설치하는 일반적인 방법은 특정 배포판의 패키지 관리자를 사용하는 것이다. 예를 들어 우분투(Ubuntu)와 페도라(Fedora)의 파이썬 설치 절차는 서로 완전히 다르다. 리눅스와 맥OS에서 설치 대상 디렉터리는 일반적으로 미리 정해지며 파이썬 버전 번호에 따른다. 예를 들어 리눅스에서는 /usr/bin/python3.X, 맥에서는 /usr/local/opt/python/이다.리눅스 패키지 관리자의 복잡함을 피하는 방법은 컨테이너화된 파이썬 런타임을 사용하는 것이다. 컨테이너는 나머지 시스템으로부터 격리되어 실행되므로 여러 파이썬 런타임이 서로 간섭을 일으키는 경우를 걱정할 필요가 없다. 그러나 이미 컨테이너를 사용하고 있지 않다면 따로 시간과 에너지를 들여 도커를 준비해야 한다(참고로 윈도우에서도 컨테이너화된 파이썬을 사용할 수 있다).
asdf-vm이라는 툴도 유용하다. asdf-vm을 사용하면 유닉스 유사 시스템(리눅스와 맥OS)에서 여러 파이썬 런타임을 관리할 수 있으며 Node.js, 루비, 엘릭서(Elixir)를 비롯한 다른 많은 언어의 여러 런타임도 관리할 수 있다. 따라서 파이선 외 다른 프로그램의 여러 버전도 동시에 사용한다면 asdf-vm에 관심을 가질 만하다.
맥OS에 파이썬을 잘 설치하는 방법
맥OS는 원래 특정 파이썬 버전이 설치된 상태로 제공됐지만 버전은 파이썬 2.7에 머물러 있다. 파이썬 3가 등장하자 이게 문제가 됐다. 두 버전이 충돌하는 경우가 많았기 때문이다. 공식 파이썬 문서에 관련 내용이 나오지만, 원하는 파이썬 인스턴스를 위한 적절한 경로를 사용하는지 확인하는 것 이상의 세부적인 권장 사항은 제공하지 않는다.맥OS에서 파이썬 런타임을 관리하는 일반적인 방법은 홈브루(Homebrew) 패키지 관리자를 통한 방법이다. 홈브루는 파이썬과 기타 써드 파티 명령줄 앱을 다운로드, 설치, 관리, 제거하기 위한 일관적인 인터페이스를 제공한다.
파이썬 패키지를 잘 설치하는 방법
기본이 되는 파이썬 버전을 설치한 다음 pip을 사용해 패키지를 바로 파이썬 안에 설치하지 말아야 한다. 파이썬을 하나의 프로젝트에서만 사용하려는 경우라 해도 마찬가지다. 프로젝트 디렉터리를 설정해 여기에 파이썬 가상 환경을 설치한 다음, 이 가상 환경 안에 패키지를 설치한다. 이렇게 하면 기본 설치가 깔끔하게 유지된다.가상 환경과 종속성을 사용해 높은 수준에서 여러 프로젝트를 관리하려면 포에트리(Poetry) 프로젝트를 권한다. 포에트리는 높은 수준에서의 가상 환경 및 종속성 관리를 위한 명령줄 툴을 제공한다.
여러 파이썬 버전 나란히 설치하기
파이썬 설치에서 가장 까다로운 한 가지 문제는 나란히 설치된 여러 파이썬 버전 다루기다. 두 가지 경험칙은 다음과 같다.- 항상 각 버전을 다른 디렉터리에 설치한다.
- 기본적으로 실행하고자 하는 버전을 먼저 가리키도록 모든 시스템 경로를 구성한다.
여러 파이썬 버전을 실행하는 경우 프로젝트별 가상 환경을 강력히 권한다. 가상 환경이 활성화되면 프로젝트 컨텍스트 내의 모든 파이썬 활동은 적절한 파이썬 버전에 자동으로 연결된다.
여러 파이썬 버전이 설치된 상황에서 윈도우 사용자가 파이썬 버전을 제어하는 데 사용할 수 있는 또 다른 옵션은 py 런처 앱이다. 파이썬 설치 중에 py 런처 설치 옵션이 표시된다. py 런처는 명령줄 플래그를 통해 특정 스크립트에 사용할 파이썬 버전을 선택할 수 있게 해주는 작은 실행 파일이다. 예를 들어 파이썬 3.7에 pip을 실행하려면 py -3.7 -m pip을 입력한다.
파이썬을 잘 업그레이드하는 방법
파이썬 마이너 리비전 업그레이드(예를 들어 파이썬 3.7.2에서 파이썬 3.7.3)는 일반적으로 쉽다. 윈도우의 경우 설치 관리자가 기존 버전을 감지하고 업그레이드한다. 리눅스와 맥OS에서도 보통 설치 관리자 또는 패키지 관리자가 이와 동일한 기능을 한다.그러나 직접 생성한 가상 환경도 업그레이드가 필요한데 가상 환경의 경우 자동으로 업그레이드되지 않는다. 가상 환경의 파이썬을 업그레이드하려면 가상 환경 디렉터리로 이동해서 venv –upgrade를 입력한다. 다시 한번 강조하자면 이 방법은 마이너 포인트 리비전 업그레이드(예를 들어 파이썬 3.7.2에서 파이썬 3.7.3으로)에 한해 사용하는 것이 좋다.
파이썬 3.7에서 파이썬 3.8로의 업그레이드와 같은 메이저 포인트 리비전 업그레이드를 하는 경우, 최선은 venv를 사용해 프로젝트 디렉터리 안에 새로운 별도의 가상 환경 하위 디렉터리를 만들고 모든 종속성을 그 안에 다시 설치하고 새 가상 환경으로 전환해서 사용하는 방법이다. 파이썬을 지원하는 대부분의 IDE(예를 들어 마이크로소프트 비주얼 스튜디오 코드)는 프로젝트 내에 여러 개의 가상 환경이 있음을 감지하고 각 환경 간의 전환을 허용한다. editor@itworld.co.kr
함께 보면 좋은 콘텐츠
Sponsored
Surfshark
“유료 VPN, 분명한 가치 있다” VPN 선택 가이드
ⓒ Surfshark VPN(가상 사설 네트워크, Virtual Private Network)은 인터넷 사용자에게 개인 정보 보호와 보안을 제공하는 중요한 도구로 널리 인정받고 있다. VPN은 공공 와이파이 환경에서도 데이터를 안전하게 전송할 수 있고, 개인 정보를 보호하는 데 도움을 준다. VPN 서비스의 수요가 증가하는 것도 같은 이유에서다. 동시에 유료와 무료 중 어떤 VPN을 선택해야 할지 많은 관심을 가지고 살펴보는 사용자가 많다. 가장 먼저 사용자의 관심을 끄는 것은 별도의 예산 부담이 없는 무료 VPN이지만, 그만큼의 한계도 있다. 무료 VPN, 정말 괜찮을까? 무료 VPN 서비스는 편리하고 경제적 부담도 없지만 고려할 점이 아예 없는 것은 아니다. 보안 우려 대부분의 무료 VPN 서비스는 유료 서비스에 비해 보안 수준이 낮을 수 있다. 일부 무료 VPN은 사용자 데이터를 수집해 광고주나 서드파티 업체에 판매하는 경우도 있다. 이러한 상황에서 개인 정보가 유출될 우려가 있다. 속도와 대역폭 제한 무료 VPN 서비스는 종종 속도와 대역폭에 제한을 생긴다. 따라서 사용자는 느린 인터넷 속도를 경험할 수 있으며, 높은 대역폭이 필요한 작업을 수행하는 데 제약을 받을 수 있다. 서비스 제한 무료 VPN 서비스는 종종 서버 위치가 적거나 특정 서비스 또는 웹사이트에 액세스하지 못하는 경우가 생긴다. 또한 사용자 수가 늘어나 서버 부하가 증가하면 서비스의 안정성이 저하될 수 있다. 광고 및 추적 위험 일부 무료 VPN은 광고를 삽입하거나 사용자의 온라인 활동을 추적하여 광고주에게 판매할 수 있다. 이 경우 사용자가 광고를 보아야 하거나 개인 정보를 노출해야 할 수도 있다. 제한된 기능 무료 VPN은 유료 버전에 비해 기능이 제한될 수 있다. 예를 들어, 특정 프로토콜이나 고급 보안 기능을 지원하지 않는 경우가 그렇다. 유료 VPN의 필요성 최근 유행하는 로맨스 스캠은 인터넷 사기의 일종으로, 온라인 데이트나 소셜 미디어를 통해 가짜 프로필을 만들어 상대를 속이는 행위다. 이러한 상황에서 VPN은 사용자가 안전한 연결을 유지하고 사기 행위를 방지하는 데 도움이 된다. VPN을 통해 사용자는 상대방의 신원을 확인하고 의심스러운 활동을 감지할 수 있다. 서프샤크 VPN은 구독 요금제 가입 후 7일간의 무료 체험을 제공하고 있다. ⓒ Surfshark 그 외에도 유료 VPN만의 강점을 적극 이용해야 하는 이유는 다음 3가지로 요약할 수 있다. 보안 강화 해외 여행객이 증가함에 따라 공공 와이파이를 사용하는 경우가 늘어나고 있다. 그러나 공공 와이파이는 보안이 취약해 개인 정보를 노출할 위험이 있다. 따라서 VPN을 사용하여 데이터를 암호화하고 개인 정보를 보호하는 것이 중요하다. 서프샤크 VPN은 사용자의 개인 정보를 안전하게 유지하고 해킹을 방지하는 데 유용하다. 개인정보 보호 인터넷 사용자의 검색 기록과 콘텐츠 소비 패턴은 플랫폼에 의해 추적될 수 있다. VPN을 사용하면 사용자의 IP 주소와 로그를 숨길 수 있으며, 개인 정보를 보호할 수 있다. 또한 VPN은 사용자의 위치를 숨기고 인터넷 활동을 익명으로 유지하는 데 도움이 된다. 지역 제한 해제 해외 여행 중에도 한국에서 송금이 필요한 경우가 생길 수 있다. 그러나 IP가 해외 주소이므로 은행 앱에 접근하는 것이 제한될 수 있다. VPN을 사용하면 지역 제한을 해제해 해외에서도 한국 인터넷 서비스를 이용할 수 있다. 따라서 해외에서도 안전하고 편리하게 인터넷을 이용할 수 있다. 빠르고 안전한 유료 VPN, 서프샤크 VPN ⓒ Surfshark 뛰어난 보안 서프샤크 VPN은 강력한 암호화 기술을 사용하여 사용자의 인터넷 연결을 안전하게 보호한다. 이는 사용자의 개인 정보와 데이터를 보호하고 외부 공격으로부터 사용자를 보호하는 데 도움이 된다. 다양한 서버 위치 서프샤크 VPN은 전 세계 곳곳에 여러 서버가 위치하고 있어, 사용자가 지역 제한된 콘텐츠에 액세스할 수 있다. 해외에서도 로컬 콘텐츠에 손쉽게 접근할 수 있음은 물론이다. 속도와 대역폭 서프샤크 VPN은 빠른 속도와 무제한 대역폭을 제공하여 사용자가 원활한 인터넷 경험을 누릴 수 있도록 지원한다. 온라인 게임, 스트리밍, 다운로드 등 대역폭이 필요한 활동에 이상적이다. 다양한 플랫폼 지원 서프샤크 VPN은 다양한 플랫폼 및 디바이스에서 사용할 수 있다. 윈도우, 맥OS, iOS, 안드로이드 등 다양한 운영체제 및 디바이스에서 호환되어 사용자가 어디서나 안전한 인터넷을 즐길 수 있다. 디바이스 무제한 연결 서프샤크 VPN은 무제한 연결을 제공하여 사용자가 필요할 때 언제든지 디바이스의 갯수에 상관없이 VPN을 사용할 수 있다.