Python virtualenv 설정법
소개
서로 다른 파이썬 버전, 프로젝트별로 각 라이브러리가 다르다.
격리된 환경의 파이썬 버전 및 라이브러리 설치가 필요하다.
이를 도와주는것이 virtualenv
basic usage
// install
pip install virtualenv
( 우분투 sudo apt install -y python3-virtualenv )
//생성
virtualenv pip_env --python=python3.9
// 활성화
source pip_env/bin/activate
// 비활성화
deactivate
//가상환경 패키지 경로는 ?
which python
//가상환경 패키지 -> requirements.txt 추출은 ?
pip freeze > requirements.txt
pip install -r ./requirements.txt
이슈 zsh: command not found: virtualenv
# 원인
- 실행파일 경로를 찾을 수 없어서 그렇다. 아래 과정을 통해서 PATH를 등록하자.
# 1.파이썬 bin경로 알아내기
pip3 install 후 설치 경로가 ~/Library/Python/3.9/bin 였다.
# 2. zshrc 파일 수정
nano ~/.zshrc
....
export PATH=/opt/homebrew/bin:$PATH
// 추가됨
export PATH=$PATH:~/Library/Python/3.9/bin
# 3.
source ~/.zshrc
이슈 npm run + virtualenv 조합으로 동작 오류
- npm 대신 터미널에서 가상환경을 작동시키자.
문제
{
"name": "indexer",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"virtual:create": "virtualenv pip_env --python=3.9",
"virtual:activate": "source pip_env/bin/activate",
"virtual:deactivate": "deactivate",
"pip:freeze": "pip3 freeze > requirements.txt",
"pip:install": "pip3 install -r ./requirements.txt",
"dev:start": "python main.py",
"docker:build": "docker build -t ehdudtkatka/bt-template:0.1 .",
"docker:run": "docker run -it --rm --name bt-template ehdudtkatka/bt-template:0.1",
"docker:push": "docker push ehdudtkatka/bt-template:0.1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
sudo pip3 freeze > requirements.txt 하면 virtual env의 패키지가 아닌 base python 패키지가 나온다...
+ 주피터 노트북은, google colab을 사용하자.
ref
Jupyter Docker Server
소개
- VS Code 에서 주피터 노트북을 사용하고 싶다.
- 로컬의 가상환경의 python도 좋지만,
- 외부 홈서버의 python 백앤드서버를 활용하고 싶다.
Docker Compose
# .env
CONTENT_VOLUME_DIR=/Users/dosimpact/Volume/jupyter
TOKEN=your_token_here
---
# docker-compose.yml
version: "0.2"
services:
jupyter:
image: jupyter/scipy-notebook:latest
restart: always
container_name: jupyter
ports:
- "8888:8888"
volumes:
- ${CONTENT_VOLUME_DIR}:/home/jovyan/work
command: start-notebook.sh --NotebookApp.token=${TOKEN}
- 토큰은 비밀번호 이다.
- 포트 바인딩은 자유롭게 바꾸어도 좋다.
- 볼륨 마운트도 필요하다.
VsCode Extension
- Install Python
- Install Jupyter
주피터 > 도커 연결
- 오른쪽 상단에 커널 연결 버튼이 있다.
- 본인이 올려준 서버에 맞추어 연결하면 끝.!