파이썬 가상환경
프로젝트마다 특정 버전의 파이썬을 설치하거나 패키지를 따로 독립적으로 관리 가능
가상환경을 프로젝트별로 설정하면서 버전 충돌 방지 가능
특히 텐서플로우처럼 버전에 예민한 경우 유용
윈도우의 경우
Windows PowerShell 관리자 모드 실행해서 따로 Script 사용할 수 있도록 지정
1. 가상환경 만들기
가상 환경을 만들고 관리하는 데 사용되는 모듈은 venv
기본적으로 가장 최신 버전의 파이썬 설치하나 따로 버전 선택 가능
해당 가상환경이름을 갖는 디렉토리 없는 경우 생성
python3 -m venv 가상환경이름
터미널
python3 -m venv 이름
2. 가상환경 활성화
source .\이름\Scripts\activate # Windows 가상환경 활성화
source 이름/bin/activate # Mac에서 가상환경 활성화
가상환경 폴더가 생성되고 내부에 lib, bin, include폴더와 pyvenv.cfg 생성됨
3. 가상환경 비활성화
활성화된 가상환경에서 작업을 더 이상 진행하지 않는 경우
deactivate
cd ../ #이동(pwd마다 상이)
#cd ./Desktop/폴더
python3 -m venv 이름
source ./이름/bin/activate #Mac에서 가상환경 활성화
source .\이름\Scripts\activate #Windows에서 가상환경활성화
cd .\파일명\
4. 필요한 패키지 관리
pip 이용해서 추가, 업데이트, 삭제
4.1 추가
#최신 버전
python -m pip install flask
#특정 버전
python -m pip install requests==2.6.0
pip3 install flask requests flask_restful
pip3 install pymysql
4.2 업데이트
특정 버전은 가장 최신 버전 pip이어야 최신 버전으로 다운로드 가능
python -m pip install --upgrade requests
#가장 최신 버전 pip으로 업그레이드
pip install --upgrade pip
4.3 조회
현재 가상환경의 패키 지명과 버전을 보여줌
pip list
4.4 관리
freeze
pip freeze > requirements.txt
패키지 명, 버전을 담아 텍스트 파일로 출력
이 텍스트 파일을 이용해서 버전 관리 가능
cat requirements.txt #해당 텍스트 내용 터미널에 출력
python -m pip install -r requirements.txt
5. 인터프리터 재설정
비주얼 스튜디오 코드 (vsc) 기준
1. ctrl+shift+p
2. Python Select Interpreter 선택
3. Interpreter 직접 설정
4. Find 클릭 후 Scripts/python or bin/python 선택
생성한 가상환경에서 설치한 파이썬 인터프리터로 설정하게 됨.
출처: https://docs.python.org/ko/3/tutorial/venv.html
launch.json 파일 만들기
1. 실행 및 디버그(ctrl+shift+D)에서 launch.json 파일 만들기 글씨 클릭
2. 원하는 디버그 설정 선택
플라스크는 Flask 선택
하단과 같은 launch.json이 생성됨
#launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Flask",
"type": "python",
"request": "launch",
"module": "flask",
"env": {
"FLASK_APP": "__init__.py",
"FLASK_ENV": "development",
// "FLASK_DEBUG": "1"
},
"args": [
"run",
"--no-debugger"
],
"jinja": true
}
]
}
'CS > GIT' 카테고리의 다른 글
[GIT].DS_Store 제거하기 (0) | 2022.01.13 |
---|---|
[GIT]ssh: connect to host github.com port 22: Connection refused (0) | 2021.11.22 |
[Git] Troubleshooting: remote: HTTP Basic: Access denied fatal: Authentication (0) | 2021.11.21 |
[Git] Troubleshooting: ! [rejected] master -> master (fetch first) (0) | 2021.11.17 |
[Git]Troubleshooting: git permission denied (publickey) (0) | 2021.11.17 |