반응형
들어가며...
프로젝트별 개발 환경을 구축하기 위해 가상환경을 생성하여 패키지 관리를 용이하게 수행할 수 있도록 생성해본다.
사전 준비
1. python3-venv 패키지 설치
# sudo apt-get install python3-venv
2. python3 프로젝트 생성
$ python3 -m venv {프로젝트명}
3. 가상환경 확인
# sudo apt-get install tree
$ tree {프로젝트}
{프로젝트}
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── easy_install
│ ├── easy_install-3.7
│ ├── pip
│ ├── pip3
│ ├── pip3.7
│ ├── python -> python3
│ └── python3 -> /usr/local/bin/python3
├── include
├── lib
│ └── python3.7
├── lib64 -> lib
└── pyvenv.cfg
코드 관리
- 처음 가상환경 생성 시 코드 관리에 대해 어려움을 겪을 수 있다.
- 간단하게 프로젝트 내에 src 등 디렉토리 생성 후 코드 관리를 진행하면 된다.
$ tree {프로젝트} -L 2
{프로젝트}
├── LICENSE.md
├── bin
├── include
├── lib
│ └── python3.7
├── lib64 -> lib
├── pyvenv.cfg
└── src
├── README.md
├── __pycache__
├── db
├── main.py
├── requirement.txt
├── robots.txt
├── routers
└── utils
차이점
1. 가상환경 진입
$ source {프로젝트}/bin/activate
(test) {ID}@{Server}:$
2. 가상환경 나가기
$ deactivate
{ID}@{Server}:$
- 가상환경에 진입하여 pip 작업 시 가상환경 구성을 수행한 python 버전에 의존하여 설치된다.
- 패키지 설치는 해당 프로젝트 내 바이너리가 생성되므로 유저 및 root와 독립적으로 패키지를 관리할 수 있다.
- 이는, pip freeze > requirement.txt 로 의존성 관리 시 CI/CD와 접목하여 활용할 수 있다.
- 관리하는 프로젝트가 늘어날수록 이해도가 높아질 수 있다.
- 버전 충돌로 인해 코드가 수행되지 않는 이슈는 경험해보는 것도 좋다. (토이 프로젝트)
728x90
반응형
'Develop' 카테고리의 다른 글
계좌이체 자동화 프로그램 (0) | 2024.05.26 |
---|---|
[입금이체] 웹뷰 환경에서의 앱링크 미동작 이슈 (0) | 2024.05.25 |
[설계] 웹앱 서비스 계좌/입금이체 기능 추가의 건 (0) | 2024.05.22 |
[SQL] 불필요한 쿼리 제거 작업 (0) | 2024.05.08 |
[Python] Subprocess, 터미널 명령어 활용 방법 (0) | 2024.05.03 |
지도 검색 알고리즘 (0) | 2022.05.09 |
커서 페이지네이션 구현 (0) | 2022.05.09 |
FCM 알림 시스템 구현 (0) | 2022.05.09 |