몇 년 동안 Python 3에서 개발해 온 소프트웨어가 있습니다. 오늘까지 Ubuntu Desktop 11.04를 사용하고 있었지만 이제는 더 높은 버전의 Ubuntu로 이동하려고합니다.
상위 버전의 우분투에서 새로운 변경으로 인해 소프트웨어 소스 코드의 일부를 변경할 필요가 없도록 우분투 11.04를 유지해야합니까?
최근 Ubuntu 버전이 어떤 방식 으로든 내 소프트웨어에 영향을 미치지 않습니까?
몇 년 동안 Python 3에서 개발해 온 소프트웨어가 있습니다. 오늘까지 Ubuntu Desktop 11.04를 사용하고 있었지만 이제는 더 높은 버전의 Ubuntu로 이동하려고합니다.
상위 버전의 우분투에서 새로운 변경으로 인해 소프트웨어 소스 코드의 일부를 변경할 필요가 없도록 우분투 11.04를 유지해야합니까?
최근 Ubuntu 버전이 어떤 방식 으로든 내 소프트웨어에 영향을 미치지 않습니까?
답변:
귀하의 의견을 바탕으로 VM에서 소프트웨어를 성공적으로 테스트했으며 이는 좋은 소식입니다.
그러나 응용 프로그램 개발자는 최신 릴리스에 코드를 적용 할 준비가되어 있어야합니다.
이제 Ubuntu의 새로운 릴리스에서 계속 작동하게하려면 패키지로 유지 관리하고 응용 프로그램에 대한 완전한 테스트 스위트를 제공하고 패키지의 빌드 프로세스 중에 호출하십시오 (예 : 섹션 setup.py test
에서 전화) debian/rules
override_dh_auto_test
).
bzr-builder recipe를 사용하여 패키지의 일일 빌드 를 ppa로 쉽게 설정할 수 있습니다 . 이렇게하면 새로운 소프트웨어 버전 또는 깨진 종속성으로 인한 모든 빌드 실패에 대한 알림을 받게됩니다.
새로운 릴리스는 일반적으로 공식 릴리스 발표 후 며칠 동안 개발을 위해 공개됩니다. 우리에서 봐 PPA의 페이지, Utopic는 지금 우리가 구축하는 배포판 시리즈의 일부입니다 :
아니요, 11.04를 유지해서는 안됩니다. 2012 년 10 월부터 지원 기한이 지났습니다. 지원을 받으려면 최소 12.04 ( 3 년 더 지원)로 업그레이드해야합니다 .
또한 최신 버전의 Ubuntu에도 기본적으로 Python 3.x가 포함되어 있으며 기본 설치에서 Python 2.x를 완전히 제거합니다.
최신 버전의 Python 3.x에서 코드를 실행하는 데 문제 가 있을 수 있지만 일반적으로 문제가 없습니다. 또한 개발자는 현재 사용중인 Ubuntu 버전에 관계없이 이러한 문제를 처리 할 준비가되어 있어야합니다. 사용중인 라이브러리 또는 Python 자체에는 코드가 행동에 의존하는 버그가있을 수 있으며 해당 버그가 수정되면 프로그램이 이전에 예상했던 것과 다르게 동작 할 수 있습니다.
응용 프로그램에 대한 설명없이 결정적인 대답을하기가 어렵습니다. Python3을 사용하고 있기 때문에 최소한 Python2.x 브랜치로 제한되지 않습니다 (Python 2.8은 없습니다).
이제 Python3에서 GLib / GObject / GIO / GTK +에 액세스하는 가장 좋은 방법은 Python GObject Introspection (일명 PyGI) 을 사용하는 것이므로 응용 프로그램에 적용될 수있는 몇 가지 경고가 Python3에서 더 이상 사용되지 않습니다 .
마지막으로 다른 python3 버전간에 약간의 차이가 있습니다 (예 : Argparse는 python 3.2 및 3.3과 정확히 동일하게 작동하지 않습니다).
시도 할 수있는 한 가지는 14.04 VM을 부팅하고 python3.4로 코드를 테스트하는 것입니다.
sudo apt-get install python3
. python3.2 의 릴리스 노트 를 확인할 수도 있지만 python3.2는 3.1.x 브랜치 (argparse는 그 중 하나임)에 비해 엄청나게 개선 된 것입니다.
코드에 따라 다릅니다. 코드에서 지원되지 않는 라이브러리를 사용하는 경우 최신 버전의 운영 체제로 쉽게 마이그레이션 할 수 없지만 대부분 문제는 발생하지 않습니다.
Ubuntu 14.04에는 python3 패키지가 있으므로 문제가되지 않습니다. apt-cache search python3
그들을 당신에게 보여줄 것입니다. 그 외에도 11.04와 "상위 버전"사이의 각 Ubuntu 릴리스에 대한 릴리스 정보를 읽고 응용 프로그램을 손상시킬 변경 사항을 검색해야합니다. 개발에 대해 아무것도 모르면 YMMV를 외쳐야하지만 내 생각에는 극복 할 수없는 문제가 없을 것입니다.
Ubuntu 14.04에서 이전 버전의 Python을 실행해야하는 경우 deadsnakes 저장소 를 활성화하십시오 . 우분투 14.04 용 Python 버전 2.3, 2.4, 2.5, 2.6, 3.1, 3.2, 3.3이 있습니다. 응용 프로그램이 순수한 Python 코드이고 다른 프로세스의 동작에 의존하지 않으면 이전 인터프리터에서 잘 작동해야합니다.