문제 상황
파이썬 3.10.12 버전을 git에서 다운받아 프로젝트에 3.10.12버전으로 가상환경을 세팅했어야 했다
근데 자꾸 scipy 버전 어쩌고, cl 어쩌고 오류가 뜸(진짜 개빡침)
- 오류 내용
Preparing metadata (pyproject.toml) ... error error: subprocess-exited-with-error × Preparing metadata (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [12 lines of output] + meson setup C:\Users\wlwlg\AppData\Local\Temp\pip-install-z5kzo2po\scipy_3341cf79f1c4444f997d4f603744d382 C:\Users\wlwlg\AppData\Local\Temp\pip-install-z5kzo2po\scipy_3341cf79f1c4444f997d4f603744d382\.mesonpy-fbjxnkr9 -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=C:\Users\wlwlg\AppData\Local\Temp\pip-install-z5kzo2po\scipy_3341cf79f1c4444f997d4f603744d382\.mesonpy-fbjxnkr9\meson-python-native-file.ini The Meson build system Version: 1.7.0 Source dir: C:\Users\wlwlg\AppData\Local\Temp\pip-install-z5kzo2po\scipy_3341cf79f1c4444f997d4f603744d382 Build dir: C:\Users\wlwlg\AppData\Local\Temp\pip-install-z5kzo2po\scipy_3341cf79f1c4444f997d4f603744d382\.mesonpy-fbjxnkr9 Build type: native build Project name: SciPy Project version: 1.11.4 ..\meson.build:1:0: ERROR: Compiler cl cannot compile programs. A full log can be found at C:\Users\wlwlg\AppData\Local\Temp\pip-install-z5kzo2po\scipy_3341cf79f1c4444f997d4f603744d382\.mesonpy-fbjxnkr9\meson-logs\meson-log.txt [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: metadata-generation-failed × Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip. hint: See above for details.
이틀동안 붙잡고 있다가 결국 "아나콘다"를 설치하고 해결하였다.
아나콘다란?
아나콘다(Anaconda)는 Inc에서 제공하는 패키지와 가상 환경, 개발 도구를 쉽게 사용할 수 있도록 파이썬 환경을 제공하는 소프트웨어
아나콘다를 이용하면 아나콘다 프롬프트를 통해 파이썬을 명령 단위로 쉽게 사용할 수 있는 명령줄 실행 환경을 제공하고, 아나콘다 네비게이터(Navigator)극 통해 파이썬 가상 환경을 쉽게 UI 화면을 통해 쉽게 생성하고 패키지 설치와 삭제를 쉽게 할 수 있도록 돕는다.
또한 파이썬 개발을 위해 필요한 개발 도구들을 선택된 가상 환경에 맞게 설치해주어 쉽게 파이썬 개발 환경을 구성할 수 있다.
아나콘다 접속
https://www.anaconda.com/download
=> Email Address에 자기 이메일을 기입하면 메일로 다운로드 가능한 링크가 전송된다.
=> 저기 Download Now 눌러서 설치하면 됨
일단 윈도우에는 파이썬 3.10.12 버전이 설치가 안되서 정말정말 화가났지만,,^^
git으로 다운받고 해당 다운받은 경로에서 바로 가상 환경 만들어주었으나 콘다에는 3.10.12 버전 설치가 가능했다!!!
(감격 ㅠㅠ , 콘다에서는 파이썬이 설치된 경로에서 원하는 경로에 가상환경 설치하는 그런건 안된다고 한다.
그래서 간절히 콘다에 3.10.12가 있길 바랬음,,, 날 힘들게 하지 말아줘,,)
conda에서 사용가능한 파이썬 버전 조회
conda search python
conda를 이용해 가상 환경 만들기
한시름 놓고,, conda를 이용해 가상환경을 세팅해주었다..!!
- conda create -n [가상환경이름] python=3.10.2
(base) D:\>conda create -n [가상환경 이름] python=3.10.12
가상환경 설치 확인
conda env list
아나콘다 가상환경을 사용중이라면 아나콘다 프롬프트에 위 명령어를 입력하면 된다.
가상환경이 존재할 경우 아래와 같이 보여진다.
가상환경 실행 대상이 되는 프로젝트로 이동
가상환경 활성화(activate)
(base) D:\[프로젝트경로]>conda activate [가상환경 명]
=> 가상환경이 필요한 프로젝트에 접속해서 conda activate [가상환경명] 입력해주면 바로 가상환경으로 실행이 된다.
(신기하다 어떤 원리인지 내일 또 찾아보자)
- conda activate [가상환경명]
: 가상환경 활성화
- pip list
: 현재 Python 환경에 설치된 모든 패키지와 그 버전을 확인할 수 있는 명령어입니다. 이 명령을 실행하면, 설치된 패키지들의 목록과 각 패키지의 버전 정보를 출력합니다.
=> 가상환경 세팅은 끝
모듈 설치
pip install -r requirements.txt
정상적으로 설치되었다!!
참고: https://seo-security.tistory.com/41#google_vignette
Q. 이제 또 아나콘다를 실행하면서 궁금했던게 venv를 이용해서 가상환경을 생성했을 땐 가상 환경을 D드라이브게 내가 만들고 실행하려고 했기때문에 디렉토리가 명확하게 보였었다.
그런데 anaconda를 사용하면 가상환경을 띄우려는 프로젝트 디렉터리에 들어가서 conda activate [가상환경명] 명령을 실행하면 바로 실행되는 원리가 궁금해 찾아보게 되었다.
가상환경의 기본 원리
가상환경은 Python 실행 파일과 패키지들을 특정한 디렉터리에 격리해서 실행하는 방식이다.
일반적으로 venv나 virtualenv를 사용하면 특정 폴더(ex. D:\venv 같은 곳)에 가상 환경이 생성된다.
하지만 `아나콘다의 가상환경`은 일반적인 venv와는 조금 다르게 동작한다.
아나콘다에서 가상환경이 실행되는 원리
아나콘다는 자체적으로 가상환경을 **특정 디렉토리(ex. C:\Users\사용자\anaconda3\envs)**에 저장한다.
그런데 가상환경을 활성화하면 별도의 디렉토리없이 실행되는 것처럼 보이는 이유가 무ㅝㄹ까?
1. PATH 환경 변수 변경
아나콘다에서 가상환경을 활성화하면, 내부적으로 PATH 환경 변수를 변경한다.
즉, 현재 터미널에서 Python 실행 경로를 가상환경의 Python으로 교체한다.
예를들어, myenv라는 가상환경을 활성화하면
conda activate myenv
- 원래 시스템의 Python 경로( C:\Users\사용자\anaconda3\python.exe) 대신
- C:\Users\사용자\anaconda3\envs\myenv\python.exe가 실행된다.
=> 이를 통해 마치 별도 디렉토리 없이 가상환경이 실행된 것처럼 보이지만, 사실은 환경 변수가 바뀐 것이다.
2. 가상환경 내의 패키지 우선 사용
가상환경을 활성화하면 해당 환경에 설치된 패키지들이 최우선으로 사용된다.
conda activate [가상환경명]
python -c "import sys; print(sys.path)"
위 명령어를 실행하면 **패키지 경로가 C:\Users\사용자\anaconda3\envs\myenv\Lib\site-packages**로 설정된 걸 볼 수 있다.
=> 그래서 글로벌 패키지와 충돌 없이, 가상환경 내의 패키지를 독립적으로 사용할 수 있다
.🚀 정리
✔️ 아나콘다 가상환경은 실제로는 C:\Users\사용자\anaconda3\envs\myenv 같은 디렉토리에 존재함.
✔️ 하지만 conda activate를 하면 환경 변수를 변경해서, 별도 디렉토리 없이 실행되는 것처럼 보인다.
✔️ 활성화된 환경에서 실행되는 Python과 패키지는 가상환경 전용 경로에 있는 것들이 사용됨.
즉, 아나콘다의 가상환경은 PATH 조작을 이용해 "보이지 않게" 실행되는 것처럼 보이게 만드는 것이다.
**Settings 옵션 적용 방법
python manage.py runserver --settings=heaven.settings.[실행하려는 프로필]
'Python > 기타' 카테고리의 다른 글
파이썬 프로그래밍 기초 - 딕셔너리 자료형 (2) | 2025.03.20 |
---|---|
pyenv 설치하기 (Window) / pyenv 가상환경 생성 및 활성화yenv 설치하기 (Window) / pyenv 가상환경 생성 및 활성화 (0) | 2025.03.14 |