A legfrissebb statisztikák szerint a Debian projekt már lezárta a Python 2 eltávolításával kapcsolatos 3300 bejelentett hiba felét a Debian GNU/Linux 11 "Bullseye" disztribúcióban, 350 Python 2 csomag csak már az Ubuntu 20.04 LTS-ben (Focal Fossa) érhető el. Jelenleg mindkét közösség figyelmezteti a csomagmegőrzőket, hogy összpontosítsanak a nem áttelepíthető csomagokra és számuk csökkentésére.
Magának a Python 2 kódjának Python 3-ra átállásról több dokumentáció és tutorial is fellelhető; maga a Python is rendelkezik kész megoldással, de ahhoz, hogy a teljes átállás megtörténjen, a csomagokat is újra el kell készíteni, hogy azok már a Python 3-as kódolással készült alkalmazásokat tartalmazzák.
További részletek itt olvashatók.
- A hozzászóláshoz be kell jelentkezni
- 1303 megtekintés
Hozzászólások
És a Fedora 32 is.
- A hozzászóláshoz be kell jelentkezni
> Countdown
Másodperc pontossággal számol vissza... a localtime szerinti újévig.
- A hozzászóláshoz be kell jelentkezni
Elhalasztva április 1-ig: https://www.python.org/psf/press-release/pr20191220/
- A hozzászóláshoz be kell jelentkezni
Tekintve, hogy már 3.8-nál járunk, és "csak" 10 év volt átállni, baj ez?
- A hozzászóláshoz be kell jelentkezni
Valószínűleg vannak magukra hagyott projektek szép számmal.
READY.
▓
- A hozzászóláshoz be kell jelentkezni
es vajh a zorp par py3 ready?
- A hozzászóláshoz be kell jelentkezni
configure.ac alapjan 2.x only
- A hozzászóláshoz be kell jelentkezni
hat akkor happy sucking, bro...
- A hozzászóláshoz be kell jelentkezni
Már évek óta nem fejlesztem, Macen meg nem fut, nem érint már :)
- A hozzászóláshoz be kell jelentkezni
Nyilván. Kérdés, hogy van-e ezekre szükség? Nyilván ha 10 év alatt senkinek se hiányzott annyira, hogy naprakészen tartsa a kódot, se az eredeti készítőnek, se valakinek, aki forkolná, akkor lehet érdemes elengedni. Ha pedig nem, akkor érdemes lehet valakinek felkapni, és frissíteni. Nincs ezzel baj.
- A hozzászóláshoz be kell jelentkezni
Vagy úgy volt jó, ahogy megírta a fejlesztője, vagy becsajozott, vagy felnőtt, vagy nyugdíjas lett, vagy...
READY.
▓
- A hozzászóláshoz be kell jelentkezni
Lassan nekem is át kell írnom Python3-ra egy 10+ éve frankón működő spéci adatelemző progimat, ami mai napig használatban van. Ilyenkor bosszant, hogy a Python3 inkompatibilis a Python2-vel.
- A hozzászóláshoz be kell jelentkezni
sokaig huztam en is a kodjaim/scriptjeim upgradejet de nyaron vegul megleptem. nem volt olyan veszes mint vartam, es sokminden letisztultabb is lett, a py3 azert sokkal atgondoltabb, nem akkora katyvasz mint a 2.x volt.
a legnagyobb melo idoben a print-ek zarojelesitese es a tab-ok space-re cserelese, de mind2 eleg jol automatizalhato akar egy python scripttel :)
- A hozzászóláshoz be kell jelentkezni
Erre mint ha hivatalos toolok is lettek volna annó.
- A hozzászóláshoz be kell jelentkezni
> Erre mint ha hivatalos toolok is lettek volna annó.
Van:
$ py -3 -m lib2to3 --help
Usage: 2to3 [options] file|dir …
$ py -3 -m lib2to3 -w .
RefactoringTool: Skipping optional fixer: buffer
RefactoringTool: Skipping optional fixer: idioms
RefactoringTool: Skipping optional fixer: set_literal
RefactoringTool: Skipping optional fixer: ws_comma
RefactoringTool: Refactored .\test.py
--- .\test.py (original)
+++ .\test.py (refactored)
@@ -1 +1 @@
-print "hello"
+print("hello")
RefactoringTool: Files that were modified:
RefactoringTool: .\test.py
Nekem amúgy kényelmesebb/átláthatóbb volt a zárójel nélküli print, de megértem a változtatás okát.
Meg az iterator-okra cserélt dolgok miatt is sokszor növekszik a line noise:
>>> a = {"hello": 1}
>>> a.keys()[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'dict_keys' object does not support indexing
>>> list(a.keys())[0]
'hello'
Szerintem jóval gyorsabb lett volna az átállás, ha ráfekszenek a performanciára/JIT-re.
- A hozzászóláshoz be kell jelentkezni
Elegendő ez is:
list(a)[0]
csak itt gondolkozni kell, hogy a kulcsot vagy az értéket kapjuk-e meg; viszont ahogy írtad, úgy egyértelmű.
- A hozzászóláshoz be kell jelentkezni
Na megküzdöttem ezzel is.
- mixed tab & space kilőve .. tisztán 8 space legyen tab helyett. vim set expandtab :retab és megoldva.
- print --> print() kell a zárójel
- iterátor: def next() --> def __next__()
- xrange --> range
Működik az új kód, PyPy3 is szépen viszi. A boldogságom nem határtalan a futásidőket elnézve.
$ time pypy ./adatfeldolgozo-2.7.py | wc -l
12154552
real 8m41,559s
user 8m24,787s
sys 1m0,037s
$ time pypy3 ./adatfeldolgozo-3.py | wc -l
12154552
real 14m10,641s
user 13m44,228s
sys 1m16,129s
time python3 ./adatfeldolgozo-3.py | wc -l
12154552
real 21m53,669s
user 22m7,865s
sys 0m55,524s
- A hozzászóláshoz be kell jelentkezni
nekem nem tunt fel erezheto sebessegkulonbseg eddig, de most mertem egyet:
Python 2.7.12 (default, Oct 8 2019, 14:14:10)
real 9m28.515s
user 9m22.984s
sys 0m5.132s
Python 3.5.2 (default, Oct 8 2019, 13:06:37)
real 5m21.760s
user 5m16.272s
sys 0m5.048s
szoval nalam a 3-as gyorsabban futott.
- A hozzászóláshoz be kell jelentkezni
Ha van kedved hozzá, próbáld ki PyPy és PyPy3-mal is. Ezeket szeretem, mert ugyanazt a számoló kódot gyorsabban futatják.
- A hozzászóláshoz be kell jelentkezni
probaltam de a kulso 3rd party cuccok (pl. html2text) miatt ugy nem fut le, az importnal elhasal... pypy3 meg nincs is ubi16ban.
- A hozzászóláshoz be kell jelentkezni
na kigyomlaltam belole a htmlparser es html2text fuggosegeket (ami minimal kell belole azt kivaltottam par regexp-el), igy:
Python 2.7.12 9m27.712s
Python 3.5.2: 5m11.973s
Python 3.6.8: 8m51.226s
pypy2: 5m20.859s
pypy3.6-v7.2.0 (Python 3.6.9): 11m12.007s ??? ezt lefuttattam meg 2x, a legjobb ido is 11m04 szoval valami nem koser ezzel a pypy3-al meg
pypy3-v5.10.1 (Python 3.5.3): 6m35.267s
pypy3-v6.0.0 (Python 3.5.3): 6m46.008s
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
igen, tudom hogy nem tokeletes... ahogy a html2text vagy a beautifulsoup sem az, csinaltam osszehasonlitasokat es neha a regexp jobb eredmenyt adott mint azok (nyilvan szintax hibas html-re).
- A hozzászóláshoz be kell jelentkezni
ez alapjan a 3-as gyorsabb kene legyen:
https://hackernoon.com/which-is-the-fastest-version-of-python-2ae7c61a6…
- A hozzászóláshoz be kell jelentkezni