문제

Python을 사용하여 오픈 소스 프로젝트를 시작하려는 경우 대다수의 사용자가 자신의 시스템에서 Python을 사용할 수 있도록 하려면 어떤 버전을 사용해야 합니까?

나는 다음 버전으로 신속하게 이동하는 사람이지만(Python 3이 나오면 그렇게 할 것입니다) 많은 사람들은 현재 버전이 제대로 작동하는 것 같으면 더 보수적일 수 있습니다.최적의 위치에 있으면서도 여전히 최신의 멋진 언어 향상 기능을 즐길 수 있는 버전은 무엇입니까?

도움이 되었습니까?

해결책

Python은 이전 버전과의 호환성을 깨뜨리고 Python 3으로 전환하는 단계에 있기 때문에 Python 3만 사용하는 것은 좋은 생각이 아니라고 생각합니다.를 기반으로 타임라인 10월에 2.6/3.0 이후에 2.x 시리즈의 후속 릴리스가 적어도 한두 개 있을 것입니다.

대상 플랫폼에서 Python 3을 사용할 수 없는 것 외에도 중요한 외부 Python 라이브러리를 Python 3에서 이식하고 사용할 수 있을 때까지는 시간이 좀 걸립니다.

그래서 Matthew가 제안한 것처럼 2.4/2.5를 유지하고 이행 Python 3을 염두에 두고 계획하는 것은 확실한 선택입니다.

다른 팁

한동안 2.3 미만이 설치된 시스템을 본 적이 없습니다.현재 사용하는 대부분의 OS에는 대부분 2.4+가 기본적으로 설치됩니다.2.3은 이전 Solaris 시스템에 있습니다.Linux 배포판은 OS X와 ​​마찬가지로 2.4+를 사용하는 경향이 있습니다.

IIRC, 2.4에는 2.5의 많은 기능이 있지만 다음에서만 사용할 수 있습니다.

from __future__ import *

각 컴퓨터에서 서로 다른 버전의 Python을 사용할 수 있습니다.

새로운 것을 코딩할 때 python2.5 이하의 것은 사용하지 않을 것입니다.넌 할 수있어 apt-get install python2.5 재고 데비안 안정.

Windows의 경우에는 크게 걱정하지 마세요.python2.5 msi를 설치하는 것은 매우 쉽습니다.

사용자가 그렇게 할 수 없다면 py2exe를 사용하여 실행 파일을 배포하고(아주 간단함) inno 설정을 사용하여 설치 프로그램을 빌드하면(역시 간단함) 표준 Windows 응용 프로그램처럼 작동하며 자체 Python DLL을 사용하게 됩니다. 이므로 Python을 설치할 필요가 없습니다.

피터가 말했듯이:3.0으로의 전환을 염두에 두되 아직 구축하지는 마세요.

추가된 많은 모듈 없이도 살 수 있는 경우 Python 2.3 또는 2.2(예:datetime, csv, 로깅, optparse, zipimport)는 SSL을 사용하지 않으며 True/False에 대한 상용구를 추가할 의향이 있습니다.

2.4 데코레이터가 추가되었습니다.생성기 표현식, reversed(), sorted(), 하위 프로세스 및 소수 모듈.이것들은 모두 훌륭하지만, 그것들 없이도 Python 코드를 작성하는 것은 쉽습니다(프로젝트에서 이를 많이 사용하지 않는다는 가정 하에).

2.5에는 상대 가져오기, 더 나은 64비트 지원 및 상당한 속도가 추가되었습니다.당신은 그 모든 것 없이도 충분히 쉽게 살 수 있습니다.

2.6은 출시되지 않았으므로(비록 매우 유사하지만) 개발자에게는 매력적일 수 있지만 원하는 호환성은 없습니다.

2.3, 2.4, 2.5 및 향후 2.6에 대한 릴리스 노트를 살펴보십시오(사용 http://www.python.org/download/releases/2.Y/highlights/ 여기서 'Y'는 부 버전입니다).

FWIW, SpamBayes의 경우 2.2 이상을 지원합니다(2.2에서는 이메일 패키지를 별도로 설치해야 함).이것은 지나치게 부담스러운 것은 아니지만, 2.3의 추가 사항은 충분히 유용하고 2.3은 충분히 오래되었으므로 머지않아 2.2를 삭제하게 될 것입니다.

프로젝트가 주류가 되고 Linux에서 실행될 경우 오직 합리적인 선택은 2.4입니다. Enterprise Linux에 기본적으로 다른 것을 설치하는 것이 고통스럽기 때문입니다.

어쨌든 어떤 경우에도 현대의 OS는 2.4 이상일 것입니다.

당신은 사용해야합니다 파이썬 2.7, Python 2의 최종 주요 버전입니다.

Python 3.x는 현재 타사 라이브러리 지원이 제한되어 있으며 기본적으로 설치되지 않는 경우가 많습니다.그래서 당신은 2.x 시리즈를 보고 있는 것입니다.

Python 2.7은 기본적으로 이전 2.xs와 완전히 역호환됩니다.게다가 Python 3에서 작동하지 않는 것에 대한 지원 중단 경고를 표시할 수도 있습니다.(특히, 단위 테스트를 유지하고 유니코드와 유니코드에 대해 현명하게 대처하는 데 비용이 듭니다.바이트 문자열.) 경고는 자동화된 좋은 코드를 작성하도록 강요합니다. 2to3 도구는 Python 3으로 변환할 수 있습니다.

귀도 반 로섬 공식적으로 단일 Python 2 코드 기반 유지를 권장합니다., 그리고 단위 테스트와 함께 2to3을 사용하여 Python 2 및 3용 호환 릴리스를 생성합니다.(PEP 3000이 작성된 이후 Python 2.6은 2.7로 대체되었습니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top