Python을 현명하게 설치하는 방법

Python은 사용하기 쉽고 초보자에게 친숙하며 거의 모든 응용 프로그램을위한 강력한 소프트웨어를 만들 수있을만큼 강력합니다. 그러나 여전히 다른 소프트웨어와 같은 소프트웨어이므로 설정 및 관리가 복잡 할 수 있습니다.

이 기사에서는 Python을 올바른 방법으로 설정하는 방법을 살펴볼 것입니다. 적절한 버전을 선택하는 방법, 여러 버전이 서로 밟 히지 않도록하는 방법, 다른 모든 날카로운 모서리와 잠재적 인 함정을 피하는 방법 방법.

올바른 Python 버전 및 배포 선택

타사 모듈과의 호환성을 위해 현재 버전 뒤에있는 하나의 주요 수정 버전 인 Python 버전을 선택하는 것이 항상 가장 안전합니다 .

이 글을 쓰는 시점에서 Python 3.8.1이 가장 최신 버전입니다. 그렇다면 안전한 방법은 Python 3.7의 최신 업데이트 (이 경우 Python 3.7.6)를 사용하는 것입니다. VM 또는 테스트 시스템과 같은 제어 된 방식으로 항상 최신 버전의 Python을 사용해 볼 수 있지만 한 버전을 되 돌리면 일반적인 타사 Python 패키지와의 최상의 호환성이 보장됩니다.

Python은 Linux와 거의 동일한 방식으로 다양한 배포판으로 제공됩니다. 그러나 Linux와 달리 Python은 항상 대체 할 수있는 하나의 골드 표준 "공식"에디션을 제공합니다. CPython, python.org의 Python Software Foundation에서 제공하는 버전입니다. 다시 말하지만, 이것은 가장 안전하고 가장 광범위하게 호환되는 배포판이며, 아무도 따서 해고 당하지 않습니다. (다른 Python 배포판은 특정 사용 사례를 다루기 때문에 나중에 조사하고 싶을 수 있지만 여기서는 고려하지 않을 것입니다.)

특히 Windows에서해야 할 중요한 선택 중 하나는 Python의 32 비트 또는 64 비트 버전을 사용할지 여부입니다. 가장 가능성있는 대답은 다음과 같은 이유로 64 비트입니다.

  • 대부분의 최신 운영 체제는 기본적으로 64 비트 버전의 Python을 사용합니다. Windows 사용자는 64 비트 Windows에서 32 비트 버전의 Python을 실행할 수 있지만 약간의 성능 저하가 있습니다. 
  • 32 비트 Python 및 일반적으로 32 비트 앱은 한 번에 4GB의 메모리에만 액세스 할 수 있습니다. 64 비트 애플리케이션에는이 제한이 없으므로 Python 용 많은 데이터 분석 및 기계 학습 도구가 64 비트 구현에서 가장 잘 작동합니다. 일부는 64 비트 버전에서만 사용할 수 있습니다. 

32 비트 버전의 Python을 선택해야하는 유일한 경우는 32 비트 버전의 Windows를 사용하거나 32 비트 버전에서만 사용할 수있는 타사 모듈을 사용해야하는 경우입니다.

Windows에 Python을 스마트하게 설치

Python은 설치 프로세스를 안내하는 설치 프로그램을 통해 다른 응용 프로그램과 거의 동일한 방식으로 Windows에 설치됩니다.

기본적으로 Windows 용 Python 설치 프로그램은 실행 파일을 사용자 AppData디렉터리에 저장하므로 관리 권한이 필요하지 않습니다. 시스템의 유일한 사용자 인 C:\Python3.7경우 더 쉽게 찾을 수 있도록 더 높은 수준의 디렉토리 (예 :)에 Python을 배치 할 수 있습니다. Windows 설치 프로그램을 사용하여 대상 디렉토리를 지정할 수 있습니다.

Windows에 적합한 Python 설치 프로그램 선택

Python.org는 Windows 용 Python의 다양한 형태를 제공합니다. 이미 언급 한 32 비트 ( "x86") 및 64 비트 ( "x86-64") 버전 외에도 포함 가능한 zip 파일, 실행 가능한 설치 프로그램 및 웹 기반 설치 프로그램 중에서 선택할 수 있습니다. 그 내용은 다음과 같습니다.

  • 실행 설치 파이썬의 설치 프로세스를 실행 단지 .EXE 파일입니다. 이것은 쉬운 기본 선택이며 가장 일반적으로 사용됩니다.
  • 웹 기반의 설치 프로그램 은 별도로 설치를 수행하는 데 필요한 비트를 다운로드하는 것을 제외하고, 실행 설치와 동일합니다. 이렇게하면 실제 설치 프로그램의 크기가 크게 줄어들지 만 물론 네트워크 연결이 필요합니다.
  • 임베드 zip 파일은 파이썬 런타임의 자체 포함, 최소한의 사본입니다 종속되지 단일 폴더에 맞. Python 앱을 수동으로 배포하려는 경우 또는 즉석에서 무언가를 테스트하기 위해 빠른 일회성 Python 설치가 필요한 경우 번들로 포함하는 것이 유용합니다. 그러나 임베드 가능한 zip에는 pip전체 설치와 함께 제공되는 기타 유용한 도구가 포함되어 있지 않으므로  전문가 전용입니다.

Windows 용 패키지 관리자를 사용하여 Python 설치

또 다른 옵션은 Windows 용으로 존재하는 패키지 관리 시스템 중 하나를 사용하는 것입니다. .NET 용 패키지 관리자 인 NuGet은 해당 저장소에서 Python을 제공합니다. 그러나 Python은 일반적인 용도로 Python의 독립 실행 형 인스턴스를 설치하는 방법이 아니라 주로 .NET 응용 프로그램 의 구성 요소 로 사용하기 위해 제공됩니다 . Python을 정기적으로 설치하면 Python 인스턴스를 더 쉽게 관리 할 수 ​​있습니다. 

보다 일반적인 Windows 패키지 관리 시스템 인 Chocolatey는 Python도 제공합니다. Chocolatey는 Python 설치 프로그램을 실행하고 시스템에서 Python 언어 런타임의 존재를 추적하는 편리한 방법이므로 NuGet보다 더 나은 선택입니다. 그러나 동일한 시스템에서 Chocolatey 설치와 Python의 정기적 인 설치를 혼합 및 일치시키지 않는 것이 가장 좋습니다.

스마트 한 방법으로 Linux에 Python 설치

Linux 배포판은 크게 다르기 때문에 Linux에 Python을 설치하는 일반적인 방법은 특정 배포판의 패키지 관리자를 사용하는 것입니다. 예를 들어 Ubuntu와 Fedora는 Python 설치 절차가 완전히 다릅니다. Linux (및 MacOS)에서 설치 대상 디렉토리는 일반적 /usr/bin/python3.X으로 Linux 또는 /usr/local/opt/python/Mac 과 같이 Python 버전 번호를 기반으로 미리 결정 됩니다.

Linux 패키지 관리자의 복잡성을 피하는 한 가지 방법은 컨테이너화 된 Python 런타임을 사용하는 것입니다. 컨테이너는 시스템의 나머지 부분과 분리되어 실행되므로 서로 다른 Python 런타임이 서로의 발걸음을 밟는 것에 대해 걱정할 필요가 없습니다. 그러나 워크 플로에 컨테이너가 아직 포함되지 않은 경우 Docker를 사용하는 데 시간과 에너지를 투자해야합니다. (Windows에서도 컨테이너화 된 Python을 사용할 수 있습니다.)

asdf-vm이라는 도구도 여기에 유용합니다. asdf-vm을 사용하여 Unix 계열 시스템 (Linux 및 MacOS)에서 여러 Python 런타임을 관리 할 수 ​​있으며 Node.js, Ruby, Elixir 및 기타 여러 언어에 대한 여러 런타임도 관리 할 수 ​​있습니다. 따라서 Python 이외의 다른 버전을 저글링하는 경우 asdf-vm을 살펴보고 싶을 것입니다.

MacOS에 Python을 스마트하게 설치

MacOS는 전통적으로 Python 버전이 설치된 상태로 출시되었지만 Python 2.7보다 최신 버전은 아닙니다. 이로 인해 Python 3이 도착했을 때 두 버전이 자주 충돌하므로 문제가 발생했습니다. 공식 Python 문서에는이 효과에 대한 몇 가지 참고 사항이 있지만 원하는 Python 인스턴스에 올바른 경로를 사용하는지 확인하는 것보다 더 자세한 권장 사항을 제공하지 않습니다.

MacOS에서 Python 런타임을 관리하는 일반적인 방법은 Homebrew 패키지 관리자를 사용하는 것입니다. Homebrew는 Python 및 기타 타사 명령 줄 앱을 다운로드, 설치, 관리 및 제거하기위한 일관된 인터페이스를 제공합니다.

스마트 한 방식으로 Python 패키지 설치

Python 버전의 기본 설치를 설정 한 후에 패키지를 직접 설치 하지 마십시오pip  . 하나의 프로젝트에만 Python을 사용하려는 경우에도 마찬가지입니다. 프로젝트 디렉터리를 설정하고 여기에 Python 가상 환경 설치 한 다음 해당 가상 환경에 패키지를 설치합니다. 이렇게하면베이스 설치가 깨끗하게 유지됩니다.

가상 환경 및 종속성이있는 여러 프로젝트를 관리하는 높은 수준의 방법은 Poetry 프로젝트를 살펴보세요. Poetry는 가상 환경 및 종속성을 높은 수준에서 관리하기위한 명령 줄 도구를 제공합니다.

여러 Python 버전을 나란히 설치

Python 설치를 처리 할 때 가장 어려운 문제는 나란히 설치된 여러 버전의 Python을 처리하는 방법입니다. 여기에는 두 가지 일반적인 경험 규칙이 적용됩니다.

  • 항상 각 버전을 다른 디렉토리에 설치하십시오.
  • 기본적으로 실행할 버전을 먼저 가리 키도록 시스템 경로가 구성되어 있는지 확인하십시오 .

여러 Python 버전을 실행하는 것은 프로젝트 별 가상 환경을 선호합니다. 가상 환경이 활성화되면 프로젝트 컨텍스트 내의 모든 Python 활동이 자동으로 올바른 버전의 Python으로 이동합니다. 

Windows 사용자가 여러 버전을 설치할 때 사용할 Python 버전을 제어해야하는 또 다른 옵션은 py런처 앱입니다. Python을 설정하는 동안 py특정 스크립트에 사용할 Python 버전을 선택할 수있는 작은 실행 파일 인 런처 를 설치할 수있는 옵션이 제공됩니다 (명령 줄 플래그를 통해). 예를 들어 pipPython 3.7 을 실행 하려면  py -3.7 -m pip.

Python을 스마트하게 업그레이드

Python을위한 마이너 리비전 업그레이드 (예 : Python 3.7.2에서 Python 3.7.3으로)는 일반적으로 충분히 쉽습니다. Windows에서 설치 프로그램은 기존 버전의 존재를 감지하고 업그레이드합니다. Linux 및 MacOS에서 설치 프로그램 또는 패키지 관리자는 일반적으로 동일한 작업을 수행합니다.

그러나 생성 한 가상 환경 업그레이드해야합니다. 자동으로 업그레이드되지 않습니다. 가상 환경에서 Python을 업그레이드하려면 가상 환경 디렉토리로 이동하여  venv --upgrade. 다시 말하지만, 이것은 Python 3.7.2에서 Python 3.7.3으로의 마이너 포인트 개정 업그레이드 에서만 가장 잘 작동합니다 .

Python 3.7에서 Python 3.8 로의 주요 포인트 개정 업그레이드를 수행하는 경우 가장 좋은 방법은 venv프로젝트 디렉터리에 별도의 새 가상 환경 하위 디렉터리를 만들고 여기에 종속성을 다시 설치하는 데 사용하는 것입니다. 새로운 가상 환경. Python을 지원하는 대부분의 IDE (예 : Microsoft Visual Studio Code)는 프로젝트에서 여러 가상 환경을 감지하여 이들 사이를 전환 할 수 있습니다.