주류 배포판(예: Ubuntu, CentOs 등)에서 /bin/python을 /bin/python3으로 전환할 계획이 있나요?

주류 배포판(예: Ubuntu, CentOs 등)에서 /bin/python을 /bin/python3으로 전환할 계획이 있나요?

저는 Arch를 사용하기 때문에 이것이 서버에서 사용할 때 불편한 점입니다(물론 별것 아니지만 기억해야 할 점입니다). 이제 Python2가 더 이상 유지 관리되지 않으므로 /bin/python을 가리키는 사용에 반대하는 움직임이 널리 퍼져 있습니다 /bin/python2.

내가 찾은이것askubuntu.com의 답변은 좋지만 링크와 마찬가지로 오래되었습니다.

우분투 파이썬 페이지이 실현에 대한 언급은 없습니다.

데비안 위키설명하다

참고: Debian 테스트(bullseye)에서는 Python 2 지원 중단으로 인해 'python' 패키지와 '/usr/bin/python' 심볼릭 링크를 제거했습니다. 어떤 패키징 스크립트도 "/usr/bin/python"의 존재에 의존해서는 안 됩니다. 만약 그렇다면 버그이므로 데비안에 보고해야 합니다. "python-is-python3" 또는 "python-is-python2" 패키지를 사용하여 타사 또는 이전 스크립트에 대한 적절한 "/usr/bin/python" 심볼릭 링크를 복원할 수 있습니다.

현재 데비안을 사용하고 있지 않아서 데비안은 변환되었고 우분투는 변환되지 않았는지 확인할 수 없나요? ( python -V20.04 현재 여전히 2.7). 나는 /usr/bin와 의 차이점에 대해 약간 모호하다는 것을 인정합니다 /bin.이 괜찮은 설명곧 읽어보겠습니다.

(꽤 구식)우분투 Python/3 페이지python3을 기본값으로 만드는 프로젝트가 진행 중이지만 업데이트된 PEP가 있을 때까지 /bin/python변경되지 않을 것이라고 말합니다./bin/python3공개 계정 394. (나는 이것이 나의 데비안 질문에 대한 답이라고 믿습니다.)

이 주제에 대해 찾을 수 있는 최신 업데이트는 2019년 2월 LWN 기사에서 나온 것입니다.PEP 394 재검토

적어도 초기 PR에서 Guido van Rossum의 의견에 따르면 궁극적인 의도는 Python이 존재하지 않기 때문에 사용자가 명시적으로 python2 또는 python3을 선택해야 하기 때문에 실제로 아무 곳도 가리키지 않는다는 것입니다. 이는 Viktorin의 홍보 목표의 일부이기도 합니다. 그는 PEP에 두 가지 변경 사항을 적용하려고 합니다. 즉, "python"(또는 그가 부르는 "버전이 지정되지 않은 Python") 설치를 배포 시 선택 사항으로 허용하고 Python 2 및 Python 3을 지원하는 스크립트가 shebang에서 python3을 사용하도록 권장하는 것입니다. 윤곽. 이 마지막 요점은 약간 직관에 어긋납니다. 왜냐하면 이 스크립트는 두 버전 중 어느 버전에서든 실행될 수 있는지 여부에 관계없이 실제로 Python 3에서만 실행된다는 의미이기 때문입니다. Victorin은 이것이 "가장 덜 나쁜 선택"이라고 말했습니다.

...

Language Summit에서 그랬듯이 Matthias Klose는 스레드에서 Debian 및 Ubuntu Python 패키저를 대표했습니다. 그는 버전화되지 않은 Python에 대한 계획을 설명했습니다. Python은 Python 3을 가리킬 계획이 없었으며 Ubuntu는 최종 결정을 내리지 않았지만 현재 버전화되지 않은 Python을 설치하지 않습니다. 데비안은 더 이상 Python 2를 제공하지 않을 때까지 Python을 Python 2로 계속 가리키다가 완전히 제거합니다. Klose는 2020년 또는 2021년에 시작되는 향후 릴리스에서 Debian 및 Ubuntu 패키지의 Python 스크립트가 명시적인 shebang 줄을 사용하도록 노력하고 있습니다.

이는 Rossum의 목표가 /bin/python완전한 지원 중단을 권장하는 반면 데비안의 계획은 데비안이 Python2를 완전히 포기할 때까지 기다린 다음(해당 측면의 상태는 무엇입니까?) 지원 중단하는 것임을 시사합니다 /bin/python(또는 데비안은 전혀 계획하지 않았기 때문에 제가 오해했을 수도 있습니다). Python2)는 python3)을 가리킵니다. Ubuntu가 버전이 지정되지 않은 Python을 제공하지 않는다는 제안은 나에게 이해가 되지 않습니다(확실히 입력 python -V하고 특별한 작업을 수행하지 않고도 2.7을 인쇄하도록 할 수 있습니다.

저는 이 2년 이상 된 기사보다 더 많은 통찰력을 갖고 있는 커뮤니티 회원이 있기를 바랍니다. 비록 이것이 매우 느리게 진행되는 문제인 것 같다는 점을 인정하지만 말입니다. Python2가 1년 넘게 중단되었고 2021년에도 여전히 대부분의 시스템에서 기본값으로 표시된다는 것이 나에게는 미친 것처럼 보입니다. python대부분의 시스템에 입력하면 더 이상 사용되지 않는 소프트웨어를 사용하고 있다는 사실이 대부분의 신규 사용자에게 놀랄 수도 있습니다 .

Arch Linux를 실행하지 않는 서버에서 실행해야 하는 레거시 스크립트의 엄청난 수를 고려할 때 이것이 매우 어려운 변경이라는 것을 알고 있습니다. 간단한 수정이지만 #!/bin/python대부분 #!/bin/python2의 회사에서 레거시 소프트웨어를 처리하는 방식으로 판단하면 편집기에서 스크립트를 열고 3을 추가하는 것보다 조금 더 귀찮은 것 같습니다.

답변1

Fedora >=33은 다른 사람들과 마찬가지로 이미 이 작업을 수행하고 있습니다. - 모르겠습니다. 파이썬 2 예어쨌든 죽었어이 변화는 조만간 일어날 것입니다.

$ lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description:    Fedora release 33 (Thirty Three)
Release:    33
Codename:   ThirtyThree

$ python -V
Python 3.9.2

대부분의 시스템에서 Python을 입력하면 더 이상 사용되지 않는 소프트웨어를 사용하고 있다는 사실이 대부분의 신규 사용자에게 놀랄 수 있습니다.

대부분의 신규 사용자는 처음부터 Python을 사용해 본 적이 없으며 프로그래머는 분명히 Python을 사용하는 방법을 찾을 것입니다 /usr/bin/python3.

당신이 정말로 무엇에 관심을 갖고 있는지 잘 모르겠습니다.

관련 정보