Python을 일상적으로 사용하고 최근에 Ubuntu 23.04 또는 Fedora 버전 38로 전환한 사용자의 경우, Python의 대표적인 패키지 관리자인 pip를 사용하여 패키지를 설치하려고 시도하는 동안 “외부 관리 환경”이라는 제목의 문제가 발생했을 가능성이 높습니다.

우분투나 페도라와 같은 이전 운영 체제에서는 발생하지 않았던 문제가 발생하면 당황스러울 수 있습니다. 이 문제의 근본 원인을 이해하고 해결책을 찾으려면 사용자의 주의가 필요합니다.

“외부 관리 환경” 오류가 발생하는 이유

모든 Linux 배포판의 최근 반복 버전은 PEP에 명시된 사양을 수용하여 결과적으로 보편적으로 액세스할 수 있는 방식으로 pip 패키지를 자동으로 설치하지 못하도록 합니다.

이는 배포판의 패키지 관리자와 Python 패키지 관리 도구 간의 충돌을 피하기 위해 구현된 것입니다. 자세한 내용은 공식 PEP-668 문서 에서 확인할 수 있습니다. 이 메커니즘을 되돌리거나 재정의하려는 경우 세 가지 접근 방식을 사용할 수 있습니다.

“외부에서 관리되는” 파일 삭제

먼저, “/usr/lib/python3.x”에 있는 디렉터리에 액세스합니다(여기서 x는 사용 중인 Python 버전을 나타냄). 그런 다음 “EXTERNALLY-MANAGED”라는 이름의 파일을 찾습니다. 마지막으로 앞서 언급한 디렉토리에서 이 특정 파일을 삭제합니다. 이 프로세스에 필요한 일련의 명령은 다음과 같이 요약할 수 있습니다:

 cd /usr/lib/python3.11
sudo rm EXTERNALLY-MANAGED

이 문제를 해결하려면 “touch” 명령을 사용하고 원본 파일 구조를 복제하여 필요한 구성 파일을 다시 설정하는 데 필요한 단계를 실행하기만 하면 됩니다.

 sudo touch EXTERNALLY-MANAGED 

이제 pip 또는 pip3를 사용하여 패키지를 원활하게 설치할 수 있습니다.

가상 환경을 사용하여 pip 패키지 설치

Python 프로젝트에서 가상 환경을 활용하면 애플리케이션별 라이브러리를 기본 운영 체제에서 분리하는 동시에 프로젝트를 효율적으로 구성할 수 있는 대안적인 전략을 제시할 수 있습니다.

pip를 사용하여 가상 환경을 설정하고 패키지를 설치하려면 다음 단계를 따르세요:

먼저 지정된 코드(

 python3 -m venv venv 

)를 사용하여 가상 환경을 설정해야 합니다.

“bin” 디렉터리 내에 있는 “activate” 파일의 내용에 액세스하고 활용하려면 “source” 명령을 실행한 후 원하는 파일의 경로를 지정하면 됩니다. 이 작업을 수행하면 현재 셸 세션에서 해당 파일에 포함된 명령과 스크립트를 실행할 수 있습니다.

이 글도 확인해 보세요:  슬랙에서 나만의 사용자 지정 슬래시 명령 만들기

셸 프롬프트를 가상 환경 이름으로 업데이트하는 것은 격리된 환경 내에서 Python 패키지를 설치하는 데 필요합니다. 이를 통해 다른 프로젝트나 시스템에 영향을 주지 않고 특정 라이브러리를 자유롭게 사용하고 조작할 수 있습니다.

처음 시도했을 때 OpenAI Python 패키지를 설치하는 데 어려움이 있었지만 가상 환경을 생성하고 활성화한 후에는 문제 없이 설치 프로세스가 실행되었습니다.

pipx를 사용하여 파이썬 패키지 설치

격리 및 가상화 환경에서 파이썬 라이브러리를 설치하기 위해 특별히 설계된 다목적 도구인 PipX는 모든 라이브러리에 대해 개별 가상 환경을 생성하고 사용자가 언제든지 명령줄 인터페이스를 통해 이러한 패키지에 직접 액세스할 수 있는 심볼릭 링크를 설정하여 프로세스를 간소화합니다.

패키지 설치에 PipX를 사용하면 가상 환경 내에서 패키지를 배포하기 때문에 “외부 관리 환경” 오류가 발생할 가능성이 없습니다. PipX를 사용하려면 운영 체제의 일반적인 패키지 관리자를 통해 설치하는 것부터 시작하세요.

우분투 또는 데비안 기반 시스템(예: 리눅스 민트, 엘리먼트 OS)의 경우 패키지 관리자를 사용하여 명령줄 유틸리티의 여러 인스턴스를 병렬로 실행할 수 있는 “패스”라는 프로그램을 설치할 수 있습니다. 이 프로그램은 파일 압축이나 동영상 인코딩과 같은 작업에 유용합니다.

 sudo apt-get install pipx 

아치 리눅스 배포판을 기반으로 하는 운영 체제의 경우, 시스템 구성을 보다 세밀하게 제어하고자 하는 사용자에게 고도로 맞춤화되고 유연한 환경을 제공한다는 점에 유의해야 합니다. 이러한 시스템의 롤링 릴리스 모델은 항상 업데이트를 사용할 수 있도록 보장하므로 사용자는 최신 소프트웨어 패키지 및 보안 패치를 최신 상태로 유지할 수 있습니다. 그러나 이는 새로운 패키지를 설치할 때 간혹 호환성 문제나 안정성 문제가 발생할 수 있다는 의미이기도 합니다. 전반적으로 아치 기반 시스템은 성능과 사용 편의성 간의 균형이 잘 잡혀 있어 초보자와 숙련된 사용자 모두에게 적합합니다.

 sudo pacman -S pipx 

Fedora, CentOS, RHEL과 같은 Linux 배포판에서는

 sudo dnf install pipx 

pipX를 설치하면 패키지를 설치하는 데 pip와 유사한 방식으로 활용할 수 있습니다. 예를 들어, 다음 예시를 고려하세요:

 pipx install openai 

pipx에 대한 자세한 내용은 “man” 명령을 사용하여 해당 매뉴얼 페이지를 참조하시기 바랍니다.

이제 “외부 관리” 오류를 해결하는 방법을 알았습니다.

외부 요소 관리와 관련된 문제를 해결하면 프로젝트 작업을 재개하거나 일반적인 Python 프로그래밍 작업을 쉽게 수행할 수 있습니다. 프로그래밍 기술을 향상시키는 데 주로 관심이있는 사람들을 위해 Python과 같은 언어에 대한 숙련도를 습득 할 수있는 상호 작용적이고 만족스러운 수단을 촉진하는 게임 화 된 접근 방식이 존재하므로 실습 경험을 통해 빠르게 진행할 수 있습니다.

By 이지원

상상력이 풍부한 웹 디자이너이자 안드로이드 앱 마니아인 이지원님은 예술적 감각과 기술적 노하우가 독특하게 조화를 이루고 있습니다. 모바일 기술의 방대한 잠재력을 끊임없이 탐구하고, 최적화된 사용자 중심 경험을 제공하기 위해 최선을 다하고 있습니다. 창의적인 비전과 뛰어난 디자인 역량을 바탕으로 All Things N의 잠재 독자가 공감할 수 있는 매력적인 콘텐츠를 제작합니다.