주요 요약
- Raspberry Pi OS Bookworm 환경에서 Python 패키지를 설치할 때는 시스템 Python 버전과의 호환성 문제를 피하기 위해 반드시 가상 환경을 활용해야 합니다.
- `apt` 패키지 매니저를 통해 Python 패키지를 검색하고 설치할 수 있지만, 필요한 패키지가 없거나 최신 버전이 요구되는 경우에는 가상 환경 내에서 `pip` 도구를 사용해야 합니다.
- 가상 환경 내에서 수행된 설치 및 변경 사항은 시스템 Python 버전에 영향을 미치지 않도록 격리됩니다.
Raspberry Pi OS Bookworm에서 “pip” 도구를 사용하여 Python 패키지를 설치하는 데 어려움을 겪고 계신가요? Python 가상 환경을 설정할 때 몇 가지 추가 단계가 필요합니다. 그 방법을 자세히 알아보겠습니다.
Raspberry Pi OS Bookworm의 변경 사항
Raspberry Pi 5는 이전 버전의 Raspberry Pi OS와 호환되지 않기 때문에 새로운 “Bookworm” 버전으로 업데이트해야 합니다. 이는 구형 모델에서 Raspberry Pi 5로 전환할 때 반드시 고려해야 할 사항입니다.
이전의 Debian 기반 Raspberry Pi OS(Buster 및 이전 버전)에서는 `pip` 패키지 관리자를 사용하여 시스템 전체에 Python 라이브러리를 직접 설치할 수 있었습니다. 그러나 Raspberry Pi OS Bookworm에서는 더 이상 허용되지 않습니다.
Raspberry Pi 공식 문서에 따르면, `pip`와 같은 Python 전용 도구를 사용하면 OS 패키지 관리자와 충돌이 발생할 수 있습니다.
따라서 Bookworm부터는 `pip`를 사용할 때 패키지를 격리된 Python 가상 환경에 설치해야 시스템 Python 버전을 보호할 수 있습니다.
`pip install` 명령을 실행하려고 하면 “[package name] “이라는 오류 메시지가 표시되며, 다음과 같은 내용으로 시작합니다.
error: externally-managed-environment × 이 환경은 외부적으로 관리됩니다. ╰─> Python 패키지를 시스템 전체에 설치하려면 apt install을 사용하세요. python3-xyz (여기서 xyz는 설치하려는 패키지입니다)
`apt`를 사용한 Python 패키지 검색 방법
가장 먼저 해야 할 일은 시스템 전체 패키지 관리자를 사용하여 필요한 Python 패키지를 설치할 수 있는지 확인하는 것입니다. `apt search` 명령으로 공식 저장소에서 패키지를 찾아볼 수 있습니다. 예를 들어:
apt search numpy
패키지 이름(예: `python3-numpy`는 Python 버전 3용)을 기록한 다음, `apt`를 사용하여 설치합니다 (설치에는 관리자 권한이 필요하므로 `sudo`를 앞에 붙입니다).
sudo apt install python3-numpy
만약 `apt` 패키지 관리자에서 필요한 Python 패키지를 찾을 수 없거나 최신 버전이 필요하다면, Python 전용 도구인 `pip`를 사용하여 Python 가상 환경 내에 설치해야 합니다.
Python 가상 환경 생성 방법
Raspberry Pi OS Bookworm에서 `pip` 도구를 사용하여 Python 패키지를 설치하려면 먼저 `venv`를 사용하여 가상 Python 환경을 만들어야 합니다. 여기서는 가상 환경 이름을 “muo-project”라고 지정했지만, 원하는 이름을 사용할 수 있습니다.
python -m venv muo-project
Raspberry Pi 모델에 따라 완료하는 데 시간이 다소 걸릴 수 있습니다. 그런 다음, 디렉터리를 새로 생성된 환경 폴더로 변경하고 가상 환경을 활성화해야 합니다.
cd muo-project source bin/activate
이제 Python 가상 환경이 활성화되었으며, 시스템 프롬프트 앞에 해당 환경 이름(이 경우 `muo-project`)이 추가되어 표시됩니다. 이는 시스템 Python 버전 대신 가상 환경 내부 버전을 사용하고 있음을 의미합니다. 따라서 환경 내에서 변경하거나 설치한 모듈은 시스템 Python에 영향을 주지 않습니다.
Raspberry Pi를 재부팅한 경우, Python 환경을 다시 활성화해야 사용할 수 있습니다.
현재 운영 체제 수준에 설치된 모든 Python 모듈을 가상 환경에 복사하여 사용하고 싶다면, `python -m venv` 명령에 `–system-site-packages` 플래그를 추가하면 됩니다. 예: `python -m venv –system-site-packages muo-project`.
`pip`를 사용한 Python 패키지 설치
활성화된 Python 가상 환경 내에서 `pip` 명령을 사용하여 필요한 패키지를 설치할 수 있습니다. 예를 들어 Stressberry 시스템 스트레스 테스트 도구를 설치하려면 다음과 같이 실행합니다.
pip install stressberry
그러면 Python 가상 환경 내에 필요한 종속성과 함께 해당 모듈이 설치됩니다. 이러한 모듈은 가상 환경 내에서만 사용 가능하며 시스템 전체에서 사용 가능한 것은 아닙니다.
Python 패키지 충돌 방지
Raspberry Pi OS Bookworm에서 `pip` 도구를 사용하여 Python 패키지를 설치하려면 추가 단계가 필요하지만, 패키지가 가상 환경 내에 격리되어 설치되기 때문에 시스템을 방해하거나 망가뜨릴 위험이 없다는 장점이 있습니다.