Python의 기본 버전을 변경하면 Ubuntu 20.04가 중단됩니다.

Python의 기본 버전을 변경하면 Ubuntu 20.04가 중단됩니다.

저는 다음과 같은 AMI를 생성하고 있습니다.우분투 20.04(Focal Fossa), 기본 Python 버전을 3.6으로 설정하고 싶습니다.

올바른 pip인 Python 3.6을 설치한 다음 다음과 같이 대안을 설정했습니다.

update-alternatives --install \
  /usr/bin/python3 \
  python3 \
  /usr/bin/python3.6 \
  10

하지만 다음과 관련된 많은 문제에 직면하게 됩니다.CPythonpython3-apt(apt_pkg, apt_inst), 등의 패키지 netifaces와 아직 파악하지 못한 더 많은 패키지가 있습니다.

모두 위치하며 /usr/lib/python3/dist-packages패키지 이름은 다음 형식입니다.

{name}.cpython-38-x86_64-linux-gnu.so

Ubuntu 20.04의 기본 Python 버전은 Python 3.8이므로 이는 의미가 있습니다.

인터넷 검색의 즉각적인 해결책은 다음과 같이 이름을 연결하는 것입니다.

ln -s {name}.cpython-38-x86_64-linux-gnu.so {name}.so

즉:

ln -s apt_pkg.cpython-38-x86_64-linux-gnu.so apt_pkg.so
ln -s netifaces.cpython-38-x86_64-linux-gnu.so netifaces.so

기본 Python 버전이 3.6일 때 관련 패키지( )를 다시 설치해 보았지만 apt install --reinstall python3-apt작동하지 않았고 *.so파일을 연결하는 이 솔루션은 확장성이 없습니다!

Python 3.6이 시스템의 기본 CPython 패키지와 작동하도록 하는 방법이 있습니까?

답변1

당신이 발견한 바와 같이, 시스템은 다음 사항에 의존합니다.체계Python 버전이 예상대로입니다. Python 3.6이 포함된 시스템을 정말로 원한다면 가장 좋은 방법은 Python 3.6을 사용하는 (이상적으로는 여전히 지원되는) 릴리스를 찾는 것입니다. 귀하의 경우에는 Ubuntu 18.04입니다.

AMI에서 실행되는 프로그램에 Python 3.6을 제공하려는 경우 시스템 Python을 교체하는 대신 가상 환경을 사용할 수 있습니다.피엔브시작하기 좋은 곳입니다.

답변2

근처에 있는 물리적 시스템의 환경을 관리하는 것처럼 클라우드에 있는 모든 시스템의 환경을 관리하세요. Ubuntu 20.x로 작업하고 기본 Python 설치가 3.8이지만 Python v3.6이 필요한 경우 필요에 따라 가상 환경을 설치하십시오. 으로 그렇게 할 수 있습니다 pyenv. 현재 당신이 하고 있는 일은 해당 컴퓨터(클라우드 기반이든 아니든)의 수많은 패키지에 미칠 모든 부정적인 영향으로 기본 Python 설치를 슬로우 모션으로 중단하는 것입니다.

나는 추가한다지도 시간나는 관심이 있는 경우를 대비해(특히 ) Python 환경의 가상화에 대해 글을 썼습니다 pyenv.

관련 정보