pip install시 error: externally-managed-environment 에러가 발생하는 문제

WorkFace·2025년 2월 2일
post-thumbnail

pip3 install을 통해 모듈을 설치 하던 중 갑자기 error: externally-managed-environment 라는 오류가 발생하였다.

1. 오류 내용 :

외부 관리 환경
이 환경은 외부에서 관리됩니다
→ 시스템 전체에 Python 패키지를 설치하려면 xyz를 설치해 보세요. 여기서 xyz는 설치하려는 패키지입니다.
홈브루에 없는 파이썬 라이브러리를 설치하려면 가상 환경을 사용하세요:
python3 - m venv 경로/to/venv 소스 경로/to/venv/bin/activate python3 - m pip 설치 xyz
홈브루에 없는 파이썬 애플리케이션을 설치하려면 가상 환경을 관리하는 'pipx 설치 xyz'를 사용하는 것이 가장 쉬울 수 있습니다
브루 인스톨 핍스
pip의 오래된 동작은 다음과 같이 복원할 수 있습니다
'--시스템 중단-packages' 플래그를 PIP 또는 추가하여 표시합니다
당신의 pip.conf 파일에 'break-system-packages = true'가 있습니다. 후자는
이 오류를 영구적으로 비활성화합니다.
이 오류를 비활성화하면 '--사용자' 플래그를 추가로 pip 또는 set에 전달하는 것이 좋습니다
사용자 = true"
당신의 pip.conf에서
파일. 이 작업을 수행하지 않으면 홈브루 설치가 중단될 수 있습니다.
이 동작에 대한 자세한 내용은 여기에서 확인하세요: <https://peps.python.org/pep-0668/ >
참고: 이것이 실수라고 생각되면 Python 설치 또는 0S 배포 제공업체에 문의하세요. Python 설치 또는 운영 체제가 손상될 위험이 있는 경우 --break-system-packages를 전달하여 이를 무시할 수 있습니다. 힌트: 자세한 사양은 PEP 668을 참조하세요.

2. 원인 :

Python의 최신 PEP 668 표준에 의해, macOS 환경에서 pip를 통한 패키지 설치가 제약되는 문제라고 한다. 아무래도 최근에 애플에서 맥에 여러가지 보안 강화 조치와 제약이 추가되었는데 여기에 영향을 받은 패치가 아닐까 싶다.

3. 해결방법

1) 가상환경을 사용하는 방법

다음과 같이 Python 가상 환경을 만들어서 사용하면 독립된 공간을 만들어서 사용하기에 pip를 정상적으로 사용할 수 있게 되며 패키지의 버전 문제로 인한 충돌을 피하기도 쉽다. 하지만 매 파이썬 프로젝트마다 가상 환경을 생성해주어야하고 터미널을 열 때마다 source를 지정해 주어야 한다는 번거로움이 따른다.

- (1) 가상환경 생성 :

python3 -m venv path/to/venv

- (2) 가상환경 활성화

source path/to/venv/bin/activate

- (3) 패키지 설치

pip install <package name>  

2) pip에 사용자 플래그 추가

시스템 패키지 환경을 보호하기 위해 설치를 사용자 환경으로 제한하여 설치하도록 한다.

pip install --user <package name>

3) break-system-package 옵션 또는 pip.conf 수정

python3 -m pip config set global.break-system-packages true

5. 왜 이런 보안조치가 시행되었는가?

애플이 원래도 보안쪽으로는 깐깐했지만 갑자기 이런 기존 시스템에 영향을 줄 수도 있는 패치를 한 원인이 궁금해서 찾아보니 간략하게 설명하자면 pip를 사용한 시스템 전역 패키지 설치가 운영 체제의 패키지 관리자와 충돌할 수 있어 이를 방지하려는 목적이라고 한다. 패키지를 가상 환경이나 사용자 환경에만 설치하도록 유도해서 종속성 관리 문제를 해결하고 보안 취약점을 줄이기 위한 조치인듯 하다.

마찬가지로 Homebrew 역시 현재 공식 홈페이지에 나와있는 Installation 방법을 따라하고 추가적인 수정을 거치지 않으면 명령어 인식이 안된다.

출처 : https://until.blog/@xeros/macos%EC%97%90%EC%84%9C-pip-install%EC%8B%9C-error--externally-managed-environment-%EC%97%90%EB%9F%AC%EA%B0%80-%EB%B0%9C%EC%83%9D%ED%95%98%EB%8A%94-%EB%AC%B8%EC%A0%9C

0개의 댓글