[MacOS] Python externally-managed-environment issue 해결
상황
랩탑을 바꾸면서 기존 맥북에서 사용하던 환경변수, 서비스들을 마이그레이션 하는 과정에서, 파이썬 서버를 설치하다 위와 같은 문제를 마주쳤다.(MacOS에서 지원하는 migration이 너무 느려가지고.. 안했던 것도 이유가 될 지도.)
그래서, externally-managed-environment 가 뭔데?
파이썬 pep-0668 표준에 의해 OS 패키지 관리자와 파이썬 패키지 관리 도구의 충돌을 막기 위해 외부 환경(OS 패키지 관리자)이 파이썬 패키지를 관리하게 하는 일종의 마커이다. 파이썬 설치 시에 EXTERNALLY-MANAGED라는 마커 파일을 생성하여 OS 패키지 관리자에 의해 관리되고 있음을 나타낸다. 이를 통해 pip가 전역으로 패키지를 설치, 수정, 삭제할 수 없게 하는 경고문이다.
그럼, 패키지를 어떻게 설치할 수 있는거야?
1. 전역 관리 상태 무시
처음으로 시도한 내용이다.(사실 안바꿀거다.. 귀찮..알아본게 어디야..) 구글링을 해보니, 다음 포스팅과 같이 한 결과 바로 패키지를 설치할 수 있었다.
https://blog.naver.com/b14nc4/223418048502
[python]pip3 install 커맨드 실행 안 되는 오류 해결 errer: externally-managed-environment (mac)
안녕하세요 엎질입니다 수업 듣는데 beautifulsoup 설치가 안 되는 문제에 봉착 근데 이게 beautifulsoup뿐...
blog.naver.com
2. 가상환경 설정
OS와 분리된 가상환경을 이용하여 파일을 배치하고 관리하는 방법이다.(해보진 않아서 트러블 슈팅이 더 필요할지도 모르겠다.)
venv로 가상환경을 관리할 디렉토리를 만들고, 환경변수를 지정한다음, 아래 source 명령어를 입력한다.
python3 -m venv path/to/venv ## python3 -m venv myenv
source myenv/bin/activate
3. 사용자 권한 부여
가장 안전하고 쉬운 방법일 것 같다. 특정 유저 디렉토리에 패키지가 설치되는 방식이다. 전역을 수정하지 않고 사용자 계정만 사용하기 때문에 덜 취약하다. 명령은 다음과 같다.
pip install 패키지명 --user ## pip install pandas --user1