CS/GIT

[GIT]파이썬 가상환경 설정 venv

뚱요 2021. 11. 10. 03:01
반응형

파이썬 가상환경

프로젝트마다 특정 버전의 파이썬을 설치하거나 패키지를 따로 독립적으로 관리 가능

가상환경을 프로젝트별로 설정하면서 버전 충돌 방지 가능

특히 텐서플로우처럼 버전에 예민한 경우 유용

윈도우의 경우
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

 

12. 가상 환경 및 패키지 — Python 3.10.0 문서

12.1. 소개 파이썬 응용 프로그램은 종종 표준 라이브러리의 일부로 제공되지 않는 패키지와 모듈을 사용합니다. 응용 프로그램에 특정 버전의 라이브러리가 필요할 수 있는데, 응용 프로그램에

docs.python.org


 

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
        }
    ]
}
반응형