티스토리 뷰
1. 소스코드로 python3.9 설치하기
# 필요한 프로그램 받기
$sudo apt update
$sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev
# python 소스코드 받기
$ wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
# 압축 풀기
$ tar -xf Python-3.9.1.tgz
# makefile 생성
$ cd Python-3.9.1
$ ./configure --enable-optimizations
$ make -j 12
# make 실행
$sudo make altinstall
# python 설치 확인
$python3.9 --version
python 3.9 설치 확인
2. alternatives 를 이용하여, 사용할 python 등록하기
운영체제에 python 여러 버전이 설치되어 있을 경우, 필요에 따라 버전을 변경해줘야 한다.
이 글에서는 python3 으로 설치한 python3.9를 실행하도록 설정한다.
※ 참고한 사이트에서는 /usr/bin/python3.9가 설치되었지만, 나는 /usr/local/bin/python3.9 가 설치되었다.
당황하지 말고~ 설치된 경로로 링크를 걸어준다.
# python 버전의 쉬운 변경을 위해 alternatives에 등록
$sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.9 1
#sudo update-alternatives --install [symbolic link path] [명령어] [real path] [우선순위]
링크 걸은 후 python3 버전 확인
3. 필요한 python library pip 이용하여 설치하기
# 패키지 관리도구 pip을 이용하여 라이브러리 설치
# 여기서는 matplotlib 설치
$sudo python3 -m pip install matplotlib
에러 발생
!! 잘 설치될 줄 알았으나, 아래 화면과 같은 긴... 로그와 함께 Exception 발생 ...
Error: Exception ~~~~ subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
방법 1)
해당 참고사이트를 확인하기 전에는 아래 방법2) 사용했지만... 방법 1 처럼 링크를 걸어서 해결하는 부분도 있었다.
그래서 링크거는 부분과 해당 참고 사이트를 첨부한다.
방법 1도 마찬가지로 해당 에러는 python 버전으로 인해서 발생하는 것으로, 링크를 걸어 해결한다.
$ sudo ln -s /usr/share/pyshared/lsb_release.py /usr/local/lib/python3.9/site-packages/lsb_release.py
https://clients.sisrv.net/knowledgebase/140/Debian-9--How-to-upgrade-to-python-3.9.html
Debian 9 – How to upgrade to python 3.9 - Knowledgebase - SiSrv Hosting
This post relates specifically to python version 3.9.0. Although the generic commands should also apply to earlier versions, but your milage may vary. The basic premise is, upgrade your version of python 3 to your desired version – 3.7.3 in this instance
clients.sisrv.net
방법 2)
밑에 참고 사이트를 통해 에러 해결
/usr/bin/lsb_release 파일 삭제
※ 다른 사이트에서는 lsb_release를 다시 설치하거나 내부 코드를 변경하거나 하는데.... 나는 다 안되서 지웠다.
※ 설치한 python 버전과 맞지 않아 문제가 발생한 것으로 추측...
# 파일 제거
$sudo rm /usr/bin/lsb_release
제거 후, 다시 패키지 설치하면 아래 화면과 같이 잘 설치된다.
reference
https://codechacha.com/ko/ubuntu-install-python39/
Ubuntu - Python 3.9 설치 방법
Ubuntu 18.04에 파이썬 3.9 버전을 설치하는 방법을 정리하였습니다. Apt를 이용하여 설치, Source를 다운로드받아 설치, Alternatives로 Python 버전 관리. alternatives을 사용하면 python의 버전 변경을 쉽게 할
codechacha.com
https://support.huaweicloud.com/intl/en-us/instg-A300_3000_3010/atlasdc_03_0050.html
The error message "subprocess.CalledProcessError: Command '('lsb_release', '-a')' return non-zero exit status 1 " is displayed d
Symptom During dependency installation, the error message "subprocess.CalledProcessError: Command '('lsb_release', '-a')' return non-zero exit status 1 " is displayed when you run the pip3.7.5 install xxx command to install related software. The error mess
support.huaweicloud.com
'etc' 카테고리의 다른 글
[ Ubuntu ] sudo apt update 에러 (1) | 2022.02.21 |
---|---|
[ubuntu] python 파일 실행 시, PermissionError (0) | 2022.02.18 |
[Docker] Dockerfile - ENTRYPOINT vs CMD (0) | 2022.01.24 |
[Docker] container 및 images 삭제 명령어 (0) | 2022.01.24 |
[Docker] Dockerfile 작성법 (0) | 2022.01.21 |