내 Debian 테스트 시스템의 최신 업데이트에서는 Python 버전 2가 제거되었으며 Python 3만 설치되어 있고 python3
더 이상 이라는 명령이 없습니다 python
. 이로 인해 Python 3 호환 스크립트를 포함하여 여러 스크립트가 실패합니다.
python
전역을 별칭으로 구성하는 올바른 방법이 무엇인지 알고 싶습니다 python3
.
더러운 해결책은 이와 같은 작업을 수동으로 수행하는 것이지만 sudo ln -s /usr/bin/python{3,}
이것이 향후 APT 업데이트(또는 Python 2가 나중에 다시 설치되는 경우)에 대해 강력하지 않을 수 있다는 점이 걱정됩니다. 또 다른 옵션은 별칭을 설정하는 것이지만 전체 시스템이 아닌 내 사용자에게만 작동합니다.
또한 우분투에는 정확히 이 작업을 수행하는 패키지가 있지만 python-is-python3
데비안에는 그러한 패키지가 없다는 것을 알았습니다.
답변1
데비안이 출시된 것 같습니다.파이썬은 python3입니다(데비안 11 이상에서는) 질문의 전제는 더 이상 유효하지 않으며 다음을 수행할 수 있습니다 sudo apt update && sudo apt install python-is-python3
.
답변2
/usr
다음을 제외한 /usr/local
모든 것이 패키지에서 나와야 한다는 규칙을 고수하려면python-is-python3
패키지그리고 설치하세요. 심볼릭 링크와 필수 문서 만 제공하며 /usr/bin/python
패키지 관계로 인해 향후 문제가 발생할 가능성은 거의 없습니다.
별칭은 스크립트의 shebang에 도움이 되지 않으며 Python 패키지가 대안을 사용하지 않는다는 점을 고려하면 자신만의 대안( update-alternatives
등)을 만드는 것은 신뢰할 수 있는 솔루션이 아닙니다.
스크립트에서 이를 사용하는 경우 /usr/bin/env python
링크를 수동으로 추가할 수 있습니다 /usr/local/bin
.
python2
무엇을 하기로 결정하든 이제부터 Python에 의존하는 Debian 패키지 는 공식 저장소 python3
(Debian 11 이상에서는 아직 정리되지 않은 오래된 Python 패키지가 있기 때문에 현재 불안정하고 실험적입니다.