Tiny Star

✨Framework+Library/🔵Django

[Django] 가상환경으로 프로젝트 세팅하기2 (pipenv)

청크 2024. 9. 19. 10:03

지난 venv를 가상환경으로 잡고 진행한 프로젝트가 마무리(?)되어 일단 테스트서버 문앞까지 갔다.

 

그리고 연이어 시작된 두번째 프로젝트.

지난 venv를 가상환경으로 잡은 프로젝트에서도 내 컴퓨터에는 파이썬 버전 3.7, 3.8 두개가 설치되어 있었고

venv는 내가 명시적으로 파이썬 버전을 잡아줄 수 있어서 환경변수는 3.7로 설정되어 있었다.

 

자세한 내용은 아래 포스팅!

 

[Django] 파이썬 버전 바꾸고 가상환경으로 프로젝트 세팅하기(venv)

개발감자 3개월차. 3개월 간 어미새 선임님이 세팅해준 프로젝트 받아서 본분을 다한 아기새 통감자. 회사가 바빠지면서 내가 스스로 세팅해야하는 일이 생겨서 처음으로 세팅해 본 장고+파이

chun-k.tistory.com

 

두번째 프로젝트는 팀장님이 기초 세팅을 해주셨고 이번엔 pipenv를 사용해야했다.

(사유 : 팀장님이 pipenv를 쓰기 때문에, 감자는 상사의 입맛을 맞출 필요가 있다.)

 

암튼,

pipenv는 별도 설치가 일단 필요하기 때문에 install 명령어로 설치먼저한다.

 

1. pipenv 설치하기

pip install pipenv

 

2. 가상환경 생성하기

mkdir 폴더이름 && cd 폴더이름

 

3. 가상환경에서 사용 할 파이썬 버전 명시해주기

pipenv --python 3.x

 

4. 가상환경 활성화

pipenv shell

 

이렇게 쉽게 활성화 시킬 수 있는데..!

나는  파이썬 버전 명시부터 자꾸 오류가 터지더란다. 

 

OSError: [WinError 123] 파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다:

"'C:\\Users\\Admin\\AppData\\Local\\Programs\\Python\\Python37\\python.exe'"

 

pipenv가 시스템에서 Python을 찾으려고 시도할 때, 경로와 관련된 문제가 발생한거였다.

실제 내 파이썬 경로는 저게 아닌데 계속 경로가 저렇게 잡히고 있었다. (심지어 난 3.8을 써야하는데 자꾸 3.7을 찾아온다...ㅠㅠ)

 

그래서 Python 경로를 명시적으로 설정하여 pipenv가 올바른 Python을 찾도록 도와드렸으나...

2시간 넘게 계속 저 오류만 잡고 안놔주는 상황 ㅠㅠ

set PIPENV_PYTHON="실제경로"

 

경로에 공백제거를 위해 &도 넣어보고 버전지정도해보고 가상환경 삭제 후 재세팅도 해보고

캐시도 지우고 업데이트도 해봤는데 안된다.

 

최후의 수단..

1. 환경 변수를 완전히 초기화

[System.Environment]::SetEnvironmentVariable("PIPENV_PYTHON", $null, "User")

이 명령을 실행하면 사용자 수준에서 설정된 PIPENV_PYTHON 환경 변수가 제거된다.

 

2. 새롭게 Python 3.8로 가상환경 설정

& "파이썬 경로" -m pipenv --python "파이썬 경로"

 

3. 잘못된 경로 제거

$env:Path = $env:Path -replace "'C:\\Users\\Admin\\AppData\\Local\\Programs\\Python\\Python37\\python.exe';", ""

 

4. 가상 환경 경로로 이동

cd 가상환경 설치경로

5.가상 환경 활성화

.\Activate

 

6. 프로젝트 디렉토리로 돌아가기

cd 프로젝트경로