PEP 361 – Python 2.6 및 3.0 릴리스 일정
- Author:
- Neal Norwitz, Barry Warsaw
- Status:
- Final
- Type:
- Informational
- Topic:
- Release
- Created:
- 29-Jun-2006
- Python-Version:
- 2.6, 3.0
- Post-History:
- 17-Mar-2008
Table of Contents
번역·라이선스 안내
이 비공식 한국어 번역은 원문 Copyright 절의 Public Domain 조건에 따라 제공합니다. 원저자와 공식 원문은 그대로 표시합니다. 수정되지 않은 기준 원문 · 공식 최신판
초록
이 문서는 Python 2.6과 3.0의 개발 및 릴리스 일정을 설명합니다. 이 일정은 주로 PEP 규모의 항목을 다룹니다. 작은 기능은 첫 번째 베타 릴리스까지(첫 번째 베타 릴리스 포함) 추가할 수 있습니다. 버그는 최종 릴리스 전까지 수정할 수 있습니다.
알파 릴리스는 최소 두 번, 베타 릴리스는 최소 두 번, 릴리스 후보는 최소 한 번 나올 예정입니다. 릴리스는 2008년 10월로 계획되어 있습니다.
Python 2.6은 Python 2 시리즈의 다음 발전 단계일 뿐만 아니라, 개발자가 Python 3.0에 대비하여 코드를 준비하기 시작하도록 돕는 과도기적 릴리스이기도 합니다. 그렇기 때문에 많은 기능이 Python 3.0에서 2.6으로 백포트되고 있습니다. 따라서 두 버전을 동시에 릴리스하는 것이 합리적입니다. 이러한 선례는 Python 1.6 및 2.0 릴리스 때 만들어졌습니다.
rc 전까지는 월간 릴리스 주기에 따라 Python 2.6과 3.0을 보조를 맞추어 함께 릴리스할 것입니다. 베타 테스트 주기가 끝날 때까지 릴리스는 매월 첫 번째 수요일에 이루어질 것입니다. Python 2.6이 더 일찍 준비되고, 맞추고자 하는 외부 마감일도 있기 때문에 rc 릴리스를 분리하기로 결정했습니다. 따라서 현재 Python 2.6 최종 릴리스는 Python 3.0 최종 릴리스보다 2주 먼저 나올 예정입니다.
릴리스 관리자와 팀
- 2.6/3.0 릴리스 관리자: Barry Warsaw
- Windows 설치 프로그램: Martin v. Loewis
- Mac 설치 프로그램: Ronald Oussoren
- 문서: Georg Brandl
- RPM: Sean Reifschneider
릴리스 수명
Python 3.0은 더 이상 어떤 목적으로도 유지 관리되지 않습니다.
Python 2.6.9는 Python 2.6 시리즈의 마지막 보안 전용, 소스 전용 유지보수 릴리스입니다. 2013년 10월 29일에 이 버전이 릴리스됨에 따라 Python 2.6에 대한 모든 공식 지원이 종료되었습니다. Python 2.6은 더 이상 어떤 목적으로도 유지 관리되지 않습니다.
릴리스 일정
- 2008년 2월 29일: Python 2.6a1 및 3.0a3 릴리스
- 2008년 4월 2일: Python 2.6a2 및 3.0a4 릴리스
- 2008년 5월 8일: Python 2.6a3 및 3.0a5 릴리스
- 2008년 6월 18일: Python 2.6b1과 3.0b1이 릴리스되었습니다
- 2008년 7월 17일: Python 2.6b2와 3.0b2가 릴리스되었습니다
- 2008년 8월 20일: Python 2.6b3과 3.0b3이 릴리스되었습니다
- 2008년 9월 12일: Python 2.6rc1이 릴리스되었습니다
- 2008년 9월 17일: Python 2.6rc2와 3.0rc1이 릴리스되었습니다
- 2008년 10월 1일: Python 2.6 최종판이 릴리스되었습니다
- 2008년 11월 6일: Python 3.0rc2가 릴리스되었습니다
- 2008년 11월 21일: Python 3.0rc3이 릴리스되었습니다
- 2008년 12월 3일: Python 3.0 최종판이 릴리스되었습니다
- 2008년 12월 4일: Python 2.6.1 최종판이 릴리스되었습니다
- 2009년 4월 14일: Python 2.6.2 최종판이 릴리스되었습니다
- 2009년 10월 2일: Python 2.6.3 최종판이 릴리스되었습니다
- 2009년 10월 25일: Python 2.6.4 최종판이 릴리스되었습니다
- 2010년 3월 19일: Python 2.6.5 최종판이 릴리스되었습니다
- 2010년 8월 24일: Python 2.6.6 최종판이 릴리스되었습니다
- 2011년 6월 3일: Python 2.6.7 최종판이 릴리스되었습니다(보안 전용)
- 2012년 4월 10일: Python 2.6.8 최종판이 릴리스되었습니다(보안 전용)
- 2013년 10월 29일: Python 2.6.9 최종판이 릴리스되었습니다(보안 전용)
3.0에서 완료된 기능
2.6에서 완료된 기능
PEP:
- PEP 352: 이제 문자열 예외를 발생시키면
TypeError가 발생합니다. 문자열 예외를 잡으려고 하면DeprecationWarning이 발생합니다.BaseException.message는 폐지 예정(deprecated)으로 지정되었습니다. - PEP 358: “bytes” 객체
- PEP 366: 메인 모듈의 명시적 상대 임포트
- PEP 370: 사용자별 site-packages(사이트 패키지) 디렉터리
- PEP 3112: Python 3000의 바이트 리터럴
- PEP 3127: 정수 리터럴 지원과 문법
- PEP 371: multiprocessing 패키지 추가
표준 라이브러리의 새 모듈:
json- 새롭게 개선된
turtle모듈 ast
표준 라이브러리에서 폐지 예정인 모듈과 함수:
buildtoolscfmfilecommands.getstatus()macostools.touched()md5MimeWritermimifypopen2,os.popen[234]()posixfilesetssha
표준 라이브러리에서 제거된 모듈:
gopherlibrgbimgmacfs
Py3k에서 제거되는 기능에 대한 경고:
- 내장 함수:
apply,callable,coerce,dict.has_key,execfile,reduce,reload - 백틱과
<> xrange에 전달되는 float 인자coerce와 그에 관련된 모든 기능- 기본 비교 방식에 의한 비교
{}.has_key()file.xreadlinesprint()함수를 위한 softspace 제거- PEP 4/PEP 3100/PEP 3108에 따른 모듈 제거
기타 주요 기능:
with/as가 키워드가 됩니다dir()을 제어하는__dir__()특수 메서드가 추가되었습니다 [1]- AtheOS 지원이 중단되었습니다.
- C로 구현한
warnings모듈 - AST를 받아 바이트코드로 변환할 수 있는
compile()
2.6에 들어갈 수 있는 기능
새 기능은 alpha2 이전에 구현하는 것이 바람직하며, 특히 C 코드 수정이나 동작 변경은 더욱 그렇습니다. 새 기능은 beta1 이전에 반드시 구현해야 하며, 그렇지 않으면 릴리스 관리자의 승인이 필요합니다.
2.6에 포함하기 위해 작업 중인 PEP는 다음과 같습니다: 없음.
여기에 나열된 기능 가운데 PEP가 아니면서 사소하지 않은 기능은 모두 python-dev에서 논의해야 합니다. 그 밖의 개선 사항은 다음과 같습니다:
distutils대체 (PEP 필요)
표준 라이브러리의 새 모듈:
winerrorhttps://bugs.python.org/issue1505257 (패치가 거부되었습니다. 모듈은 C로 작성해야 합니다)setuptools2.5에 포함하기로 한 BDFL의 결정: https://mail.python.org/pipermail/python-dev/2006-April/063964.html
2.6에 포함하기 위해 PJE가 2.5에서 철회한 내용: https://mail.python.org/pipermail/python-dev/2006-April/064145.html
DeprecationWarning을 추가할 모듈 (Python 2.6용으로 지정되었거나 부주의로 누락된 것):
rfc822mimetoolsmultifilecompiler패키지 (또는 Py3K 경고로 대신?)Parser/*.c가printf대신 Cwarnings모듈을 사용하도록 변환- 제거되는 Py3k 기능에 대한 경고 추가:
__getslice__/__setslice__/__delslice__PyArgs_ParseTuple에 전달하는 float 인자__cmp__?- 그 밖의 비교 관련 변경?
- int 나눗셈?
- 모든
PendingDeprecationWarnings(예: 예외) zip()결과를 리스트로 사용하는 것exec문(함수 문법을 사용하십시오)func_*로 시작하는 함수 속성(__*__을 사용해야 합니다)- long 리터럴의
L접미사 __nonzero__에서__bool__로의 이름 변경- 클래식 클래스를 사용한 다중 상속? (MRO가 바뀔 수 있습니다)
- 프로퍼티와 클래식 클래스? (인스턴스 속성이 프로퍼티를 가림)
__nonzero__가 없고__bool__메서드가 있으면 그것을 사용합니다.Demo/와Tools/에 있는 여러 코드가 모두 여전히 동작하는지 확인하고, 동작하지 않는 것은 갱신하거나 제거하십시오.Modules/의 모든 모듈은ssize_t에 대해 문제가 없도록 갱신되어야 합니다.- (
Modules/를 포함한) Python 전체가 g++로 깔끔하게 컴파일되어야 합니다. - 폐기 예정 기능의 제거를 시작하고 전반적으로 Py3k를 향해 나아가십시오.
- 모든 구식 테스트(임포트 시 동작하는 테스트)를
unittest나docttest로 교체하십시오. - 테스트가 없는 모든 모듈에 테스트를 추가하십시오.
- 문서화되지 않은 모듈/기능을 문서화하십시오.
distutils패키지의bdist_debhttps://mail.python.org/pipermail/python-dev/2006-February/060926.htmldistutils패키지의bdist_egg- 순수 Python
pgen모듈 (담당자: Guido) 2.6으로 연기: https://mail.python.org/pipermail/python-dev/2006-April/064528.html fpectl모듈을 제거해야 합니까?
2.7까지 연기됨
없음
미해결 문제
임포트 경고는 어떻게 처리해야 합니까?
참고 문헌
Copyright
This document has been placed in the public domain.