가상환경의 생성, 패키지 설치, 삭제
이전글을 참고한다. 터미널 명령어를 다시 정리하면 다음과 같다
더보기
$ 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
가상환경 패키지 설치, 관리
텍스트 파일로 설치할 패키지의 목록을 작성한다. 이때 항상 문서를 저장해야 이후 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 |