/ / Ako udržiavať, keď Django prejde na Python 3? - python, django, python-3.x

Ako sa udržiavať, keď sa Django prepne na Python 3? - python, django, python-3.x

Som v procese učenia sa Pythonu a mal som otázku o budúcnosti. Viem, že to nie je v súčasnosti najnaliehavejšie na premýšľanie, ale som zvedavý.

V súčasnosti Django podporuje iba Python 2.7. Avšak v blízkej budúcnosti to bude podporovať Python 3. Čo sa stane, keď dôjde k prechodu na Python 3, čo sa týka písania kódu v Pythone 2.7 a používania súvisiacej Django framework.

Pravdepodobne by som sa učil a kódoval v novšej verzii. Čo však o udržiavaní starého kódu? Zostane to tak, ako je? Je potrebné ho prepísať?

Som zvedavý, ako tieto prechody fungujú. Tiež to robí rozdiel v tom, že Python 3 nie je „spätne kompatibilný? Čo to má za následok? Napríklad som čítal, že Ruby verzie 1.8 až 1.9 (a dokonca aj budúce 2.x) boli spätne kompatibilné a menej skok (ako Python 2.x až 3.x). Zaujímalo by ma, či toto rozdelenie medzi verziami Pythonu spôsobuje nejaké problémy s fragmentáciou alebo problémy so správou kódu?

Ak by sa mi niekto mohol pokúsiť vysvetliť mi, čo sa deje s týmito aktualizáciami a problémami pri ich riešení, skutočne by som si to vážil.

odpovede:

3 pre odpoveď č. 1

... čo sa stane, keď príde prechod na Python 3.

Nič. Preto v prvom rade používate rámec. Všetko, za čo musíte byť zodpovední, je malé množstvo kódu, ktoré bude potrebné portovať.


2 pre odpoveď č. 2

Django (kvôli obrovskému množstvu kódu, ktorý na ňom beží), v blízkej budúcnosti aspoň neodstráni podporu pre 2.x. Jednoducho to nedáva zmysel.

Ľubovoľný Python 3 má teraz problémy s adopciou; PyPy prijíma oveľa, oveľa rýchlejšie.

A je tu py2to3, ktorý prevádza niektoré časti na kód python 2 na python 3, a potom musíte urobiť zvyšok ručne.


1 pre odpoveď č. 3

Váš starý kód je potrebné prepísať, iba akpre tento kód prechádzajú na Python 3. Pri dlhodobých projektoch k tomu pravdepodobne dôjde, pri mnohých ďalších projektoch zaniknú a zastarajú alebo zákazník prejde do inej spoločnosti, aby ju udržali, a preto sa už nemusíte obťažovať.

Kód, ktorý je potrebné spustiť v systéme Python 3musíte to preniesť. To môže byť veľmi ľahké alebo veľmi ťažké, v závislosti od toho, ako veľmi používate Unicode aj binárne údaje, a od koľkých vnútorných priestorov Pythonu sa spoliehate.

Myslel by som si, že typický projekt Django by sa dal preniesť celkom jednoducho.

Viac informácií o prenose nájdete na http://python3porting.com .