만약 여러분이 파이썬을 자주 사용하고 최근에 우분투 23.04 또는 페도라 38 버전으로 시스템을 변경했다면, 파이썬 패키지 관리자인 pip를 통해 패키지를 설치할 때 “외부 관리 환경” 오류를 마주칠 가능성이 있습니다.
이전 버전의 우분투, 페도라 및 다른 배포판에서는 이러한 오류가 발생하지 않았기 때문에, 이 상황은 매우 당황스럽고 실망스러울 수 있습니다. 이 오류의 정확한 원인이 무엇인지, 그리고 어떻게 하면 신속하게 해결할 수 있는지 함께 알아보도록 하겠습니다.
“외부 관리 환경” 오류 발생 원인
최신 버전의 모든 리눅스 배포판들은 PEP-668 표준을 따르고 있습니다. 이 변화로 인해 pip 패키지는 기본적으로 시스템 전체 컨텍스트에 설치되지 않게 되었습니다.
이러한 조치는 배포판의 패키지 관리자와 파이썬 패키지 관리 도구 사이의 충돌을 방지하기 위해 도입되었습니다. 더 자세한 정보는 PEP-668 공식 문서에서 확인할 수 있습니다. 이 메커니즘을 해제하거나 무시하기 위해 세 가지 방법을 사용할 수 있습니다.
1. “외부 관리” 파일 삭제
이 방법은 pip의 “외부 관리” 오류를 해결하는 가장 간단한 방법 중 하나입니다. 여러분이 해야 할 일은 /usr/lib/python3.xx 디렉토리로 이동하여 그 안에 있는 EXTERNALLY-MANAGED 파일을 삭제하는 것입니다. 다음 명령어를 사용하면 됩니다.
cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED
이것으로 오류를 해결할 수 있습니다. 만약 이 메커니즘을 다시 활성화하고 싶다면, touch 명령어를 사용하여 같은 파일을 다시 생성하세요.
sudo touch EXTERNALLY-MANAGED
이제 pip 또는 pip3을 사용하여 패키지를 문제없이 설치할 수 있습니다.
2. 가상 환경을 이용한 pip 패키지 설치
또 다른 방법은 파이썬 프로젝트를 위한 가상 환경을 사용하는 것입니다. 가상 환경은 운영 체제로부터 프로그램별 패키지를 격리하고 프로젝트를 정리하는 데 매우 유용합니다.
다음은 pip를 사용하여 가상 환경을 만들고 패키지를 설치하는 방법입니다:
- 먼저, 다음 명령을 사용하여 가상 환경을 생성합니다.
python3 -m venv venv
- 다음으로, source 명령을 사용하여 bin 디렉토리 내의 활성화 파일을 실행합니다.
source venv/bin/activate
셸 프롬프트가 가상 환경 이름으로 업데이트되어야 합니다. 이제 원하는 파이썬 패키지를 설치할 수 있습니다.
보시다시피, openai 파이썬 패키지는 처음에는 설치할 수 없었지만, 가상 환경을 생성하고 활성화한 후에는 성공적으로 설치되었습니다.
3. pipx를 이용한 파이썬 패키지 설치
pipx는 가상 및 격리된 환경에 파이썬 패키지를 설치하는 유틸리티입니다. pipx는 각 패키지에 대한 가상 환경 생성 및 .local/bin 폴더에 패키지에 대한 심볼릭 링크 생성 과정을 자동화하여, 셸에서 언제든지 각 패키지를 호출할 수 있도록 해줍니다.
pipx를 사용하여 패키지를 설치하면 가상 환경에 패키지를 설치할 때 “외부 관리 환경” 오류를 피할 수 있습니다. pipx를 사용하기 위해서는 먼저 배포판의 기본 패키지 관리자를 사용하여 설치해야 합니다.
우분투/데비안 기반 시스템:
sudo apt-get install pipx
아치 기반 시스템:
sudo pacman -S pipx
페도라/CentOS/RHEL:
sudo dnf install pipx
pipx를 설치한 후에는 pip를 사용하는 것과 유사하게 패키지를 설치할 수 있습니다. 다음은 간단한 예시입니다.
pipx install openai
pipx에 대한 자세한 내용은 man 명령어를 사용하여 매뉴얼 페이지를 참조하십시오.
이제 “외부 관리” 오류를 해결하는 방법을 알았습니다.
“외부 관리 환경” 오류를 해결했으니, 이제 프로젝트 작업을 계속하거나 파이썬 프로그래밍을 연습할 수 있습니다. 만약 후자에 더 집중하고 싶다면, 파이썬이나 다른 언어들을 더 빠르고 효과적으로 배울 수 있는 다양한 게임화된 학습 방법을 찾아보시는 것을 추천합니다.