230609 추가: true로 바꾸지 않고 false로 유지해야 한다. 맨 마지막 문단 참고
일반적으로는 pip를 upgrade하면 해당 에러를 해결할 수 있는 듯하다.
그러나 python 3.8 이하 venv에서는 pip install --upgrade pip --user
를 시도하면 다음과 같은 에러가 나올 수 있다.
이런 경우 다음과 같은 방법을 시도하면 해결될 가능성이 있다.
venv
폴더의 pyvenv.cfg
에서
include-system-site-packages
의 값을 true
로 해 준다.
이후 pip install --upgrade pip --user
을 실행하면 에러가 발생하지 않는다.
source: https://bobbyhadz.com/blog/python-error-can-not-perform-user-install
강의에서 계속해서 가상 환경을 만든 이유가 분리된 환경을 새롭게 만들어서 dependency conflict를 최소화하기 위함이라고 생각되는데, 저렇게 하면 환경이 분리되지 않으므로 여전히(특히 배포 과정에서) conflict를 마주할 가능성이 있다. 따라서 false를 유지한 상태에서 배포를 시도해 봐야 한다.
false를 유지한 채 배포에 성공한 모습.
위 상황은
1. 먼저 false로 바꾼 다음
2. venv 상에서 pip freeze > deploy/requirements.txt
을 하고
3. eb init --interactive
으로 새롭게 배포를 한 결과이다.
스파르타 학습질문에서 비슷한 문제로 막힌 사람의 상황을 참고할 수 있었다.