Hvilken versjon av Python å bruke for maksimal kompatibilitet

stemmer
14

Hvis jeg skulle starte en åpen kildekode-prosjekt med Python hvilken versjon bør jeg bruke for å sikre at det store flertallet av brukere kan bruke det på deres system?

Jeg er den typen person som raskt hopper til neste versjon (som jeg skal gjøre når Python 3 kommer ut), men mange mennesker kan være mer konservativ hvis deres nåværende versjonen ser ut til å virke fint. Hvilken versjon ville rammet sweet spot, men fortsatt tillate meg å nyte de nyeste og kuleste språk forbedringer?

Publisert på 06/09/2008 klokken 02:22
kilden bruker
På andre språk...                            


6 svar

stemmer
6

Som python er i form av en overgangsfase mot python 3 med breaking bakoverkompatibilitet Jeg tror ikke det er en god idé å gå python 3 bare. På grunnlag av den tid linjen vil det være minst ett eller to følgende utslipp av den 2.x serie etter 2.6 / 3.0 i oktober.

Foruten å ikke ha python 3 tilgjengelig på målet plattformer, vil det ta litt tid før viktige eksterne python bibliotekene vil bli portert og brukes på python 3.

Så som Matthew antyder bor på 2,4 / 2,5 og holde overgangen planen til python 3 i tankene er et solid valg.

Svarte 06/09/2008 kl. 02:44
kilden bruker

stemmer
4

Jeg har ikke sett et system med mindre enn 2,3 installert i noen tid. Mostly 2.4+ er installert som standard for de fleste OS jeg bruker nå. 2.3 er bare på en eldre Solaris maskin. Linux distroer tendens til å ha 2.4+, som gjør OS X.

IIRC, 2.4 har mange av funksjonene 2.5 gjør, men kan kun brukes med

from __future__ import *
Svarte 06/09/2008 kl. 02:27
kilden bruker

stemmer
1

Python 2.3 eller 2.2 hvis du kan leve uten de mange moduler som ble lagt (f.eks datetime, csv, logging, optparse, zipimport), ikke bruker SSL, og er villig til å legge til standardtekst for True / False.

2.4 lagt dekoratører. generator uttrykk, reversert (), sortert (), og delprosess og desimaltall moduler. Selv om dette er alt fint, er det lett å skrive Pytonske kode uten dem (forutsatt at prosjektet ikke ville gjøre mye bruk av dem).

2,5 tilsatt, relative import, bedre 64 bit støtte, og ganske litt hastighet. Du kan leve uten alle de lett nok.

2.6 er ikke utgitt (selv om det er svært nær), så selv om det kan appellere til utviklere, betyr det ikke har kompatibilitet du leter etter.

Se på versjons noter for 2,3, 2,4, 2,5, og den kommende 2,6 (bruk http://www.python.org/download/releases/2.Y/highlights/ hvor 'Y' er den mindre versjon).

FWIW, for SpamBayes støtter vi 2.2 og ovenfor (2,2 krever installering av e-pakke separat). Dette er ikke altfor taxing, men de 2,3 tilleggene er nyttige nok og 2,3 gammel nok til at vi vil sannsynligvis falle 2,2 før lenge.

Svarte 07/09/2008 kl. 05:21
kilden bruker

stemmer
1

Du kan bruke forskjellige versjoner av python på hver maskin.

Coding noe nytt, ville jeg ikke bruke noe mindre enn python2.5. Du kan gjøre apt-get install python2.5på lager debian stabil.

For vinduer, egentlig ikke bekymre deg for det. Det er veldig enkelt å installere python2.5 msi.

Hvis brukerne ikke gidder å gjøre det, kan du distribuere en kjørbar med py2exe (så enkelt) og bygge et installasjonsprogram med inno oppsett (igjen enkel) så vil det oppføre seg som en vanlig Windows-program og vil bruke sine egne python dlls , så du trenger ikke å ha python installert.

Som Peter sa: husk overgangen til 3,0, men ikke bygge på det ennå.

Svarte 06/09/2008 kl. 05:25
kilden bruker

stemmer
0

Du bør bruke Python 2.7 , den siste store versjonen av Python to.

Python 3.x foreløpig har begrenset tredje-parts bibliotek støtte, og er ofte ikke installert som standard. Så du ser på 2.x-serien.

Python 2.7 er egentlig fullstendig bakoverkompatibel med tidligere 2.xs. I tillegg kan det gi deprecation advarsler om ting som ikke vil fungere i Python 3. (Spesielt vil det lønne seg å opprettholde enhet tester, og for å være pedantisk om Unicode- vs. byte-strenger.) Advarslene vil tvinge deg til skrive god kode som den automatiserte 2to3verktøy vil være i stand til å oversette til Python tre.

Guido van Rossum offisielt anbefaler å opprettholde en enkelt Python 2-kode-basen , og ved hjelp av 2to3 sammen med enhetstesting for å fremstille kompatible utslipp for Python 2 og 3. (PEP Siden 3000 er skrevet, Python 2.6 er erstattet av 2.7.)

Svarte 08/10/2011 kl. 06:40
kilden bruker

stemmer
0

Dersom prosjektet skal være mainstream og vil kjøres på Linux den eneste fornuftige ønsker er 2,4 - bare fordi det er en smerte å få noe annet installert som standard på Enterprise Linuxes.

I alle fall noen moderne vil OS / kan ha 2.4 eller nyere.

Svarte 10/01/2010 kl. 09:36
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more