도서관에서 작업했던 프로젝트를 집에서 이식하려는데 계속 에러가 발생합니다. 문제는 리눅스 패키지와 파이썬 사이에 갈등이 있었습니다. 가상 시스템의 경우에는 강제로 django와 openai 모듈 설치가 가능했습니다. 그 과정과 이유를 설명합니다.
리눅스 가상환경에서 Django와 OpenAI를 강제로 설치하는 방법
리눅스 신버전(예: Linux Mint 21, Ubuntu 22.04 이상)에서는
pip를 이용해 Python 패키지를 설치할 때 다음과 같은 오류를 만날 수 있습니다.
error: externally-managed-environment
이는 리눅스 시스템이
"사용자가 시스템 전체를 망치지 않도록"
Python 패키지 설치를 엄격히 관리하기 때문입니다.
특히 가상환경(venv) 안에서도 pip만으로는 설치가 거부되는 경우가 많습니다.
이럴 때는 방법이 있습니다.
왜 이런 문제가 생길까요?
리눅스는 기본적으로
- 시스템 관리자가 설치한 Python과
- 사용자가 직접 설치한 Python 패키지
를 분리하여 관리하고자 합니다.
시스템 안정성을 유지하기 위한 조치입니다.
하지만 개인 개발용 가상환경에서는 오히려 불편할 수 있습니다.
해결 방법: --break-system-packages 옵션 사용
pip 명령어에
--break-system-packages
옵션을 추가하면 해결할 수 있습니다.
이 옵션은 "가상환경 안에서는 시스템 보호 정책을 깨고 설치해도 좋다"라고 허용해 주는 명령입니다.
설치는 다음처럼 진행합니다.
설치 명령어
Django만 설치할 때
pip install django --break-system-packages
Django와 OpenAI를 함께 설치할 때
pip install django openai --break-system-packages
한 줄로 입력하면 됩니다.
설치가 끝난 후
설치가 완료되면
바로 Django 개발 서버를 실행할 수 있습니다.
예를 들어:
python manage.py runserver
명령어를 입력하면,
http://127.0.0.1:8000/
에서 정상적으로 프로젝트를 실행할 수 있습니다.
주의할 점
- --break-system-packages는 꼭 가상환경(venv) 안에서만 사용하는 것이 좋습니다.
- 시스템 전체에 설치할 때 이 옵션을 쓰는 것은 추천하지 않습니다.
- 가상환경 안에서는 안전하게 사용할 수 있으므로 걱정하지 않으셔도 됩니다.
정리
리눅스 환경에서
가상환경 안에서도 pip 설치 오류가 날 때는,
--break-system-packages 옵션을 활용하여
Django나 OpenAI 같은 패키지를 강제로 설치하면 됩니다.
이 과정을 알게 되면,
앞으로 리눅스에서 Python 개발을 훨씬 편하게 이어갈 수 있습니다.
한 줄 요약
"리눅스에서 pip 오류가 나면, --break-system-packages 옵션을 붙여라!"
✅
'Linuxpia > 웹 프로그램' 카테고리의 다른 글
Django 앱 구조로 알아보는 MTV 패턴 (1) | 2025.05.02 |
---|---|
[Django] 웹 프레임워크 URL 분리 (1) | 2025.05.01 |
[Django 프로젝트] 시 감상과 감상문 남기기 (6) | 2025.04.28 |
Django에서 MTV란? (5) | 2025.04.27 |
REST API란 무엇인가요? (4) | 2025.04.26 |