10 | ||
Editor: pycz
Time: 2011/10/06 20:31:00 GMT+2 |
||
Note: přidávání značek 2x-3x |
changed: - Překlopení na Python 3.0: ================================= .. image:: py30.png :align: right .. image:: py25.png :align: right Nejlepší strategie přechodu z Python 2.x na Python 3.0 je snad tato: 0. (*Předpoklad:*) Začněte s tím, že si vytvořte testovací prostředí, které bude umět prakticky otestovat váš program. 1. Přejděte na *Python 2.7*. Toto by neměla žádná jiná extra práce, než jakákoliv jiná při přechodu z Python 2.x na Python 2.(x+1). Všechny vaše testující testy musí projít. 2. (Pořád jsme u 2.7:) Zapněte *parametr příkazové řádky -3*. To umožní zapnout upozorňování na věci, které ve 3.0 nebudou nebo budou změněny. Znovu projeďte svůj program svým testem, a postupně odchyťte a odlaďte svůj kod tak, aby na konci práce se žádná varování neobjevovala. 3. Spusťte překladač 2to3 nad vaším programem/programy. Způsob instalace najdete níže a použití na http://docs.python.org/library/2to3.html. Výsledek překladu spusťte pod Pythonem 3.0. Ručně se zbavujte postupně všech problémů, dokud vaše testy neprochází tiše bez varování a výjimek. Není doporučeno psát kód, který bude fungovat jak pod 2.7, tak pod 3.0; museli byste použít velmi nezdravě vypadající styl kódovaní - např. vynechávání příkazů print, metatřídy a mnohem více. Pokud budete používat knihovnu, která musí podporovat jak 2.7 tak 3.0, pak je nejlepší způsob pozměnit bod 3 výše uvedeného seznamu - raději editace zdrojového kódu 2.7 a opětovné spouštění překladače 2to3 než editací zdrojových kódu verze 3.0. Instalace na Windows ===================== Pomocná konverzní utilita z řady 2.x na 3.x se stahuje a instaluje například takto. Pusťte si Příkazový řádek a zadejte:: cd %TEMP% svn checkout http://svn.python.org/projects/sandbox/trunk/2to3 cd 2to3 setup.py install Prvním řádkem se přepnete do své dočasné složky. Druhý řádek stáhne utilitu - zde je nutno mít předem nainstalováno svn - snad nejlépe pro tyto účely řádkový http://www.sliksvn.com/en/download/. Třetí řádek se přepíná do složky 2to3 a čtvrtý řádek vše nainstaluje. Utilita 2to3.py se nainstaluje do Python26\\Scripts. Odkazy ========== - http://diveintopython3.py.cz/porting-code-to-python-3-with-2to3.html - http://www.astrobetter.com/wp-content/uploads/2011/08/python2python3.pdf - http://python3porting.com/2to3.html - http://packages.python.org/six/
Nejlepší strategie přechodu z Python 2.x na Python 3.0 je snad tato:
Není doporučeno psát kód, který bude fungovat jak pod 2.7, tak pod 3.0; museli byste použít velmi nezdravě vypadající styl kódovaní - např. vynechávání příkazů print, metatřídy a mnohem více. Pokud budete používat knihovnu, která musí podporovat jak 2.7 tak 3.0, pak je nejlepší způsob pozměnit bod 3 výše uvedeného seznamu - raději editace zdrojového kódu 2.7 a opětovné spouštění překladače 2to3 než editací zdrojových kódu verze 3.0.
Pomocná konverzní utilita z řady 2.x na 3.x se stahuje a instaluje například takto. Pusťte si Příkazový řádek a zadejte:
cd %TEMP% svn checkout http://svn.python.org/projects/sandbox/trunk/2to3 cd 2to3 setup.py install
Prvním řádkem se přepnete do své dočasné složky. Druhý řádek stáhne utilitu - zde je nutno mít předem nainstalováno svn - snad nejlépe pro tyto účely řádkový http://www.sliksvn.com/en/download/. Třetí řádek se přepíná do složky 2to3 a čtvrtý řádek vše nainstaluje. Utilita 2to3.py se nainstaluje do Python26\Scripts.