
Αν ήμουν έτοιμος να ξεκινήσει ένα έργο ανοικτού πηγαίου κώδικα χρησιμοποιώντας ποια έκδοση Python θα πρέπει να χρησιμοποιήσω για να διασφαλιστεί ότι η συντριπτική πλειοψηφία των χρηστών να το χρησιμοποιήσετε στο σύστημά τους;


Είμαι το είδος του ατόμου που μεταβαίνει γρήγορα στην επόμενη έκδοση (που θα κάνω όταν Python 3 βγαίνει), αλλά πολλοί άνθρωποι μπορεί να είναι πιο συντηρητική εάν η τρέχουσα έκδοσή τους φαίνεται να λειτουργούν καλά. Ποια έκδοση θα χτυπήσει το γλυκό σημείο, αλλά εξακολουθεί να μου επιτρέψετε να απολαύσουν τα νεότερα και πιο cool γλώσσα βελτιώσεις;

 
Ποια έκδοση της Python χρήσης για μέγιστη συμβατότητα
=====================================================



Όπως python είναι το είδος της μια φάση μετάβασης προς python 3 με σπάσιμο προς τα πίσω συμβατότητα δεν νομίζω ότι είναι μια καλή ιδέα να πάει python 3 μόνο. Με βάση την [γραμμή του χρόνου](http://www.python.org/dev/peps/pep-3000/#timeline) θα υπάρχει τουλάχιστον ένα ή δύο ακόλουθα δελτία της σειράς 2.x μετά 2.6 / 3.0 τον Οκτώβριο.


Δίπλα δεν έχουν python 3 διαθέσιμα στις πλατφόρμες στόχο σας, θα χρειαστεί κάποιος χρόνος έως ότου σημαντικές εξωτερικές βιβλιοθήκες python θα μεταφερθεί και μπορούν να χρησιμοποιηθούν σε python 3.


Έτσι, όπως Matthew προτείνει την διαμονή τους σε 2.4 / 2.5 και η διατήρηση της [μετάβασης](http://www.python.org/dev/peps/pep-3000/#compatibility-and-transition) σχέδιο για python 3 στο μυαλό είναι μια σταθερή επιλογή.

 

Δεν έχω δει ένα σύστημα με λιγότερο από 2,3 εγκατασταθεί για κάποιο χρονικό διάστημα. Κυρίως 2.4+ εγκαθίσταται από προεπιλογή για τις περισσότερες OS που χρησιμοποιώ τώρα. 2.3 είναι μόνο για μια παλαιότερη Solaris μηχάνημα. Linux διανομές τείνουν να έχουν 2.4+, όπως και το OS X.


IIRC, 2.4 έχει πολλά από τα χαρακτηριστικά 2.5 κάνει, αλλά μπορούν να χρησιμοποιηθούν μόνο με



```
from __future__ import *

```
 

Μπορείτε να χρησιμοποιήσετε διαφορετικές εκδόσεις της python για κάθε μηχάνημα. 


Κωδικοποίηση κάτι νέο, δεν θα χρησιμοποιήσει οτιδήποτε λιγότερο από python2.5. Μπορείτε να το κάνετε `apt-get install python2.5`για τη μετοχή debian σταθερή.


Για τα παράθυρα, πραγματικά δεν ανησυχείτε γι 'αυτό. Είναι πολύ εύκολο να εγκαταστήσετε το MSI python2.5.


Εάν οι χρήστες δεν μπορούν να τον κόπο να το κάνετε αυτό, μπορείτε να αναπτύξετε ένα εκτελέσιμο με py2exe (έτσι απλά) και να οικοδομήσουν ένα πρόγραμμα εγκατάστασης με την εγκατάσταση καινο (και πάλι απλό), τότε θα συμπεριφέρεται σαν μια τυπική εφαρμογή των Windows και θα χρησιμοποιήσει τη δική dlls πύθωνας της , οπότε δεν χρειάζεται να έχετε εγκατεστημένο το python. 


Όπως ο Πέτρος είπε: να έχετε κατά νου τη μετάβαση σε 3.0, αλλά δεν βασίζονται σε αυτό ακόμα.

 

Python 2.3 ή 2.2 αν μπορούν να ζήσουν χωρίς τις πολλές μονάδες που προστέθηκαν (π.χ. datetime, csv, υλοτομία, optparse, zipimport), δεν χρησιμοποιούν SSL, και είναι πρόθυμοι να προσθέσετε στερεότυπο για True / False.


2.4 πρόσθεσε διακοσμητές. εκφράσεις γεννήτρια, αντιστρέφεται (), ταξινομούνται (), και οι ενότητες υποεπεξεργασία και δεκαδικών. Παρά το γεγονός ότι όλα αυτά είναι ωραία, είναι εύκολο να γράψει Pythonic κώδικα χωρίς αυτούς (με την προϋπόθεση ότι το έργο σας δεν θα κάνει βαριά χρήση τους).


2.5 που προστίθεται με, σχετική εισαγωγές, καλύτερη υποστήριξη 64 bit, και αρκετά ένα κομμάτι της ταχύτητας. Θα μπορούσατε να ζήσετε χωρίς όλα αυτά αρκετά εύκολα.


2.6 δεν έχει κυκλοφορήσει (αν και είναι πολύ κοντά), έτσι ενώ θα μπορούσε να προσελκύσει προγραμματιστές, δεν έχουν τη συμβατότητα είστε μετά.


Ρίξτε μια ματιά στις σημειώσεις έκδοσης για 2.3, 2.4, 2.5, και το επερχόμενο 2.6 (χρήση <http://www.python.org/download/releases/2.Y/highlights/> όπου «Υ» είναι η δευτερεύουσα έκδοση).


FWIW, για SpamBayes υποστηρίζουμε 2.2 και άνω (2.2 απαιτεί την εγκατάσταση ξεχωριστά το πακέτο e-mail). Αυτό δεν είναι υπερβολικά φορολόγηση, αλλά τα 2.3 προσθήκες είναι αρκετά χρήσιμο και 2.3 είναι αρκετά παλιά ότι κατά πάσα πιθανότητα θα μειωθεί 2,2 πριν από καιρό.

 

Αν το έργο πρόκειται να είναι mainstream και θα τρέχει σε Linux η **μόνη** λογική επιλογή είναι 2,4 - μόνο και μόνο επειδή είναι ένας πόνος για να πάρει ό, τι άλλο εγκατασταθεί ως προεπιλογή για τις επιχειρήσεις Linuxes.


Σε κάθε περίπτωση, οποιοδήποτε *σύγχρονο* λειτουργικό σύστημα θα / μπορεί να έχει 2.4 ή νεότερη έκδοση.

 

Θα πρέπει να χρησιμοποιήσετε **την Python 2.7** , την τελευταία μεγάλη έκδοση της Python 2.


Python 3.x σήμερα έχει περιορισμένη υποστήριξη βιβλιοθήκη 3ου μέρους, και συχνά δεν εγκαθίσταται από προεπιλογή. Έτσι, κοιτάτε τη σειρά 2.x.


Python 2.7 είναι ουσιαστικά πλήρως συμβατό με προηγούμενες 2.xs. Επιπλέον, μπορεί να δώσει προειδοποιήσεις αποδοκιμασία για πράγματα που δεν θα λειτουργήσει σε Python 3. (Ιδιαίτερα, θα πληρώσει για να διατηρήσει τις δοκιμές μονάδα, και να είναι σχολαστικός για Unicode- εναντίον byte-strings.) Οι προειδοποιήσεις θα σας αναγκάσει να γράψει καλό κώδικα που το αυτοματοποιημένο `2to3`εργαλείο θα είναι σε θέση να μεταφράσει σε Python 3.


Guido van Rossum [συνιστά επίσημα διατήρηση ενός ενιαίου Python 2 κώδικα-βάσης](http://www.python.org/dev/peps/pep-3000/#compatibility-and-transition) , και χρησιμοποιώντας 2to3 μαζί με τον έλεγχο της μονάδας για να παράγουν συμβατά κυκλοφορίες για Python 2 και 3. (Από ΡΕΡ 3000 γράφτηκε, Python 2.6 έχει αντικατασταθεί από 2.7.)

 