Ubuntu에 다른버전의 Python 설치하기
필자처럼 다른 버전의 python을 설치하려고 src부터 빌드하는 것은 절대로 해서는 안될 짓이다. 컴파일 과정이 굉장히 복잡하고 또 엄청나게 오래걸리며, 버전 변경 또한 어렵기 때문이다. 그런데 pyenv를 쓰거나, apt-get도 버전 관리가 안되기 때문에 별로 좋지 않은 방법이다. 결국 가장 좋은 방법은 python을 conda로 설치해서 관리하는 것이다. 왜냐하면 conda는 완전한 동작을 보장하는 dependency들을 한방에 설치해주고, 자유로운 버전 변경도 가능하기 때문이다. 게다가 여러 버전을 동시에 사용할 수 있는 가상환경도 쉽게 만들 수도 있다.
Conda 설치하기 최신(2023.02.26)
* miniconda 설치 방법(최신 버전)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
sudo bash Miniconda3-latest-Linux-x86_64.sh
(설치코멘드 확인 -> 보통 계속 yes하면 됨)
export PATH=$PATH:/root/miniconda3/condabin/
export PATH=$PATH:/root/miniconda3/bin/
* miniconda 설치 방법(구버전)
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ./miniconda.sh
sudo /bin/bash ./miniconda.sh -b -p /opt/conda
export PATH=$PATH:/opt/conda/bin
* 참조: https://conda.io/miniconda.html
* miniconda 삭제 방법
Apt-get으로 설치된 Python 삭제하기
sudo apt-get purge --auto-remove python3
절대 기본 설치된 python을 삭제해서는 안된다.
* 기본 python 삭제 시 복구방법
Default python을 conda로 바꾸기
Ubuntu desktop에서 위와 같은 방식으로 기본 설치된 python을 삭제시 문제가 생기는 것을 확인하였다. 따라서 기본 설치된 python을 삭제하기 보다는 다음과 같은 방법으로 /opt/conda의 python을 alias를 통해서 다음과 같이 지정하자.(default python은 /usr/bin에서 호출 가능하다.)
vim ~/.bashrc 에 다음을 추가
alias python="/opt/conda/bin/python"
Conda 사용하기
* conda update하기
which conda
sudo /opt/conda/bin/conda update -n base conda
* conda-forge 채널 추가하기
많은 유용한 프로그램들이 conda-forge 채널을 통해 보급되고 있어서, 기본적으로 추가해주는 것이 매우 좋다.
sudo conda config --add channels conda-forge
* conda 사용시 permission denied가 뜰 때, conda의 sudo를 사용하고, conda의 경로를 직접 입력해준다.
which conda
sudo /opt/conda/bin/conda install nodejs
또는 alias sudop='sudo env "PATH=$PATH"'
이렇게 sudop라는 명령어를 정의해서 대신 사용하면 좋다.
* 가상환경 없이 기본이 되는 python 버전 바꾸기
sudop conda install python=3.6.2
(이상하네.. 왜 이렇게해도 conflict나면서 설치가 안되는걸까..? 원래는 됬었는데, 무조건 가상환경으로 설치해야하나?)
* 특정 python 패키지 설치하기
sudop conda install jupyter
* 가상환경의 만들기(python3.6.2 사용 환경)
conda create -n python362 python=3.6.2
* 가상환경 목록보기
conda info -e
* 가상환경 시작하기
conda activate python362
* 가상환경 종료하기
conda deactivate
* Save current environment to a yml file
conda env export > puppies.yml
* Load environment from a yml file
conda env create -f puppies.yml
https://kapeli.com/cheat_sheets/Conda.docset/Contents/Resources/Documents/index
* conda로 설치한 패키지의 bin위치
/home/dhkwak/.conda/envs/python362/bin
* 특정 env에 conda로 패키지 설치하기
conda activate <python362>
conda install -n <python362> <패키지이름>
https://stackoverflow.com/questions/16727171/installing-anaconda-into-a-virtual-environment
* 특정 env에 pip로 패키지 설치하기
conda activate <python362>
pip
which pip
sudo /home/dhkwak/.conda/envs/python362/bin/pip install timeago
http://www.puzzlr.org/install-packages-pip-conda-environment/
* 특정 python버전의 pip 사용하기
python -m pip
python3.5 -m pip
python3.6 -m pip
Conda Trouble Shooting
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
-> conda init all
https://stackoverflow.com/questions/55507519/python-activate-conda-env-through-shell-script
'Development > Python' 카테고리의 다른 글
한글을 Sub-character level로 파싱하기(python으로 유니코드 파싱) (0) | 2020.04.16 |
---|---|
CSV파일 인코딩(Encoding) (0) | 2020.03.23 |
Python Multiprocessing 가이드 (2) | 2020.02.20 |
Python에서 directory 관련 명령어 (0) | 2020.02.19 |
Python 코드 안에서 git과 pip 사용하기 (0) | 2020.02.19 |
댓글