- Debian 계열 distro는 공히 모두 해당된다.
- Ubuntu
- Linux Mint
- Kali Linux
$ sudo apt update && sudo apt install -y python3-dev python3-venv
# 현 상태 점검
$ which python pip python3 pip3
/usr/bin/python3 # 씨스템 파이썬
# 홈폴더로 간다
$ cd
# venv이름 앞에 .을 붙여야 리눅스 숨김폴더라 눈에 안거슬림
$ python3 -m venv .venv
# .bashrc에서 PATH를 업데이트한다.
$ echo -e '\nexport PATH="$HOME/.venv/bin:$PATH"\n' >> .bashrc
# .bashrc에 잘 반영되었는지 눈으로 확인한다.
$ tail .bashrc
... export PATH="$HOME/.venv/bin:$PATH"
# bash를 새로 열고 잘 되는지 확인한다.
$ bash
$ which python pip
/home/.../.venv/bin/python
/home/.../.venv/bin/pip
# 앞으로 pip을 쓰면 모두 .venv에 깔리지만 내가 신경쓸 것은 없다
$ pip install streamlit
- 기존 씨스템 파이썬에서 설치한 패키지와 충돌 상황 디버깅
# 이미 씨스템 파이썬으로 jupyter, streamlit 설치한 경우에도
$ which jupyter
/home/.../.local/bin/jupyter # 씨스템 파이썬의 잔재
/home/.../.venv/bin/streamlit
# 그냥 새로 깔아서 덮어씌워주면 된다. (PATH 앞쪽이라 우선순위 우위)
$ pip install jupyterlab
$ which jupyter
/home/.../.venv/bin/jupyter
/home/.../.venv/bin/streamlit
anaconda를 사용하던 경우.bashrc에서 >>> 부터 <<< 사이의 내용을 제거해주어야 한다.~/anaconda폴더가 있다면 그냥 지워도 된다.
$ vi ~/.bashrc
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/me/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/me/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/me/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/me/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<