가상환경의 생성, 패키지 설치, 삭제
이전글을 참고한다. 터미널 명령어를 다시 정리하면 다음과 같다
$ pip install virtualenv
$ virtualenv venv #venv 대신 다른 이름으로 가상환경 설정 가능
$ source venv/Scripts/activate #경로를 입력할 때는 Tab키 사용
(venv)
$ pip install numpy
Installing collected packages: numpy
Successfully installed numpy-1.26.3
(venv)
$ python main.py
1.26.3
가상환경 학습용 예시 코드입니다.
(venv)
$ source venv/Scripts/activate
(venv) #venv 가상환경활성화 상태
$ deactivate
#비활성화 되어서 아무것도 안 뜸
$ rm -rf venv #가상환경 삭제. 동시에 venv 폴더로 삭제된다.
연습용 코드
import numpy as np
def main():
print(np.__version__)
print("가상환경 학습용 예시 코드입니다.")
if __name__ == "__main__":
main()
https://bartlebytypewriter.tistory.com/8
[가상환경] VSCODE에 가상환경 연결하기, venv 가상환경
VSCODE에서 가상환경 연결하기 Ctrl + Shift + P 키를 눌러서 Show all commands 를 실행한다. 그리고 python select interpreter 를 검색한다. 그중 연결하고자 하는 가상환경을 선택한다. 여기서는 flask를 선택하
bartlebytypewriter.tistory.com
가상환경 패키지 설치, 관리
텍스트 파일로 설치할 패키지의 목록을 작성한다. 이때 항상 문서를 저장해야 이후 bash에서 명령어가 실행된다.
다음 명령어를 실행하여 패키지를 설치한다.
$ pip install -r requirements.txt
이후 freeze 명령어를 통해서 현재 가상환경에 설치된 패키지 리스트를 확인할 수 있다.
$ pip freeze
contourpy==1.2.0
cycler==0.12.1
fonttools==4.47.0
kiwisolver==1.4.5
matplotlib==3.8.2
numpy==1.26.3
packaging==23.2
pandas==2.1.4
pillow==10.2.0
pyparsing==3.1.1
python-dateutil==2.8.2
pytz==2023.3.post1
seaborn==0.13.1
six==1.16.0
tzdata==2023.4
(venv)
그리고 다음 명령어를 통해서 버전 정보가 담긴 패키지 목록을 txt 파일로 저장할 수 있다.
아래의 이미지를 통해서 패키지 목록이 담긴 req.txt 파일이 생성되었음을 확인할 수 있다.
pip freeze > req.txt
이번에는 requirements.txt 에 scipy, jupyterlab, jupyter 패키지를 추가하고 bash 터미널에 $ pip install -r requirements.txt 을 다시 실행해 설치한다. freeze를 통해서 패키지가 정상적으로 추가 설치되었음을 확인할 수 있다.
$ pip freeze
anyio==4.2.0
argon2-cffi==23.1.0
argon2-cffi-bindings==21.2.0
arrow==1.3.0
asttokens==2.4.1
async-lru==2.0.4
attrs==23.2.0
Babel==2.14.0
beautifulsoup4==4.12.2
bleach==6.1.0
certifi==2023.11.17
cffi==1.16.0
charset-normalizer==3.3.2
colorama==0.4.6
comm==0.2.1
contourpy==1.2.0
cycler==0.12.1
debugpy==1.8.0
decorator==5.1.1
defusedxml==0.7.1
executing==2.0.1
fastjsonschema==2.19.1
fonttools==4.47.0
fqdn==1.5.1
idna==3.6
ipykernel==6.28.0
ipython==8.19.0
ipywidgets==8.1.1
isoduration==20.11.0
jedi==0.19.1
Jinja2==3.1.2
json5==0.9.14
jsonpointer==2.4
jsonschema==4.20.0
jsonschema-specifications==2023.12.1
jupyter==1.0.0
jupyter-console==6.6.3
jupyter-events==0.9.0
jupyter-lsp==2.2.1
jupyter_client==8.6.0
jupyter_core==5.7.0
jupyter_server==2.12.2
jupyter_server_terminals==0.5.1
jupyterlab==4.0.10
jupyterlab-widgets==3.0.9
jupyterlab_pygments==0.3.0
jupyterlab_server==2.25.2
kiwisolver==1.4.5
MarkupSafe==2.1.3
matplotlib==3.8.2
matplotlib-inline==0.1.6
mistune==3.0.2
nbclient==0.9.0
nbconvert==7.14.0
nbformat==5.9.2
nest-asyncio==1.5.8
notebook==7.0.6
notebook_shim==0.2.3
numpy==1.26.3
overrides==7.4.0
packaging==23.2
pandas==2.1.4
pandocfilters==1.5.0
parso==0.8.3
pillow==10.2.0
platformdirs==4.1.0
prometheus-client==0.19.0
prompt-toolkit==3.0.43
psutil==5.9.7
pure-eval==0.2.2
pycparser==2.21
Pygments==2.17.2
pyparsing==3.1.1
python-dateutil==2.8.2
python-json-logger==2.0.7
pytz==2023.3.post1
pywin32==306
pywinpty==2.0.12
PyYAML==6.0.1
pyzmq==25.1.2
qtconsole==5.5.1
QtPy==2.4.1
referencing==0.32.0
requests==2.31.0
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
rpds-py==0.16.2
scipy==1.11.4
seaborn==0.13.1
Send2Trash==1.8.2
six==1.16.0
sniffio==1.3.0
soupsieve==2.5
stack-data==0.6.3
terminado==0.18.0
tinycss2==1.2.1
tornado==6.4
traitlets==5.14.1
types-python-dateutil==2.8.19.14
tzdata==2023.4
uri-template==1.3.0
urllib3==2.1.0
wcwidth==0.2.12
webcolors==1.13
webencodings==0.5.1
websocket-client==1.7.0
widgetsnbextension==4.0.9
(venv)
이때 pip freeze > req.txt 를 실행하면 새로운 목록을 기존 패키지 목록에 덮어씌울 수 있다.
이번에는 requirements.txt 에 덮어씌워보자.
pip freeze > requirements.txt
기존 텍스트 파일에 정상적으로 목록이 작성되었음을 확인할 수 있다.
위의 과정을 통해 향후 다른 프로젝트를 하거나, 협업을 진행할 때 패지키 목록이 담긴 텍스트 파일을 전달하여 프로젝트의 패키지를 한꺼번에 설치, 관리할 수 있다.
'IT학습 > 기타' 카테고리의 다른 글
[가상환경] VSCODE에 가상환경 연결하기, venv 가상환경 (0) | 2024.01.04 |
---|---|
[가상환경] Anaconda 가상환경 생성부터 패키지 설치, 삭제 (0) | 2024.01.04 |