Thread View: pl.comp.lang.python
3 messages
3 total messages
Started by Seweryn Habdank-Wojewódzki
Mon, 25 May 2009 12:26
Utrzymanie i przenoszenie kodu Py 2.x na Py 3.x
Author: Seweryn Habdank-Wojewódzki
Date: Mon, 25 May 2009 12:26
Date: Mon, 25 May 2009 12:26
29 lines
2146 bytes
2146 bytes
Witam,
Poprosze specjalistow od Pythona o porade.
Mam napisany zestaw utilkow w Pythonie 2.6.
Teraz chcialbym przeniesc je eksperymentalnie na Pythona 3.x.
Mam jednak nastepujace wymagania.
1. Wersja "release" ma dzialac na 2.x. Moja wersja dodatkowa powinna
dzialac na 3.x. Bardziej szczegolowo: user pracuje z kodem dla 2.x.
2. Czy da sie elegancko w kodzie .py zaznaczyc ktorego pythona nalezy
odpalic?
Chodzi mi o to, ze do tej pory user uruchamial skrypt i nie musial
martwic
sie gdzie i ktory python byl dopasony do skryptu.
3. Jak u siebie na komputerze (+ Windows) prowadzic testy kiedy
python.exe jest zarowno w katalogu Python30 jak i Python26?
4. A moze jest jakis sposob, aby moc odpalic skrypt dla 2.6 na
pythonie 3.0?
Pozdrawiam,
--
|\/\/| Seweryn Habdank-Wojewodzki
\/\/
Professionalism in programming - www.accu.org
Re: Utrzymanie i przenoszenie kodu Py 2.x na Py 3.x
Author: Rob Wolfe
Date: Mon, 25 May 2009 18:23
Date: Mon, 25 May 2009 18:23
61 lines
3136 bytes
3136 bytes
Seweryn Habdank-Wojewódzki <habdank@gmail.com> writes: > Witam, > > Poprosze specjalistow od Pythona o porade. > > Mam napisany zestaw utilkow w Pythonie 2.6. > Teraz chcialbym przeniesc je eksperymentalnie na Pythona 3.x. > Mam jednak nastepujace wymagania. > > 1. Wersja "release" ma dzialac na 2.x. Moja wersja dodatkowa powinna > dzialac na 3.x. Bardziej szczegolowo: user pracuje z kodem dla 2.x. Generalnie od początku to było tak pomyślane, aby po przejściu z 2.5 na 2.6 (najwięcej wysiłku) nie było już problemu przy wspieraniu równolegle 2.6 i 3.x. W tym celu powstał tool `2to3` [1]_. Procedura jest taka: 1. W 2.6 odpal testy z opcją "-3". Pojawią się ostrzeżenia jeśli zostaną znalezione jakieś konstrukcje niekompatybilne z 3.x i jednocześnie zbyt trudne do naprawy dla `2to3`. 2. Popraw wszystkie te błędy ręcznie aż nie będzie żadnych ostrzeżeń. 3. Zapuść `2to3` na wersji 2.6 i powinieneś dostać 3.x Później wszelkie zmiany wykonujesz w wersji 2.6, a 3.x generujesz przy pomocy `2to3`. [2]_ > 2. Czy da sie elegancko w kodzie .py zaznaczyc ktorego pythona nalezy > odpalic? Pod Linuksem tak (shebang), a pod Windowsem nie. > Chodzi mi o to, ze do tej pory user uruchamial skrypt i nie musial > martwic > sie gdzie i ktory python byl dopasony do skryptu. A dlaczego user miałby teraz instalować 2.6 i 3.x jednocześnie, a nie tylko jeden z nich? Prawda jest taka, że pod Windą ostatnia zainstalowana wersja Pythona zostanie powiązana z rozszerzeniem ".py" i wszystko będzie odpalane przy użyciu tej wersji. > 3. Jak u siebie na komputerze (+ Windows) prowadzic testy kiedy > python.exe jest zarowno w katalogu Python30 jak i Python26? np.: 1. odpalać programy podając pełną ścieżkę do Pythona 2. lub manipulować zmienną PATH tak, aby testowany Python był na niej pierwszy 3. lub użyć `virtualenv` [3]_ i jego sprytnego skryptu `activate` (na Windzie `activate.bat`) > 4. A moze jest jakis sposob, aby moc odpalic skrypt dla 2.6 na > pythonie 3.0? `2to3` is your friend. .. [1] http://docs.python.org/library/2to3.html .. [2] http://docs.python.org/dev/py3k/whatsnew/3.0.html#porting-to-python-3-0 .. [3] http://pypi.python.org/pypi/virtualenv RW
Re: Utrzymanie i przenoszenie kodu Py 2.x na Py 3.x
Author: Seweryn Habdank-Wojewódzki
Date: Tue, 26 May 2009 06:45
Date: Tue, 26 May 2009 06:45
53 lines
2719 bytes
2719 bytes
Witam,
> Generalnie od początku to było tak pomyślane, aby po przejściu z 2.5
> na 2.6 (najwięcej wysiłku)
To zrobilem recznie i na mocy danej mi przez szefa zarzadzilem,
ze utilki (jako nasze wewnetrzne) wymagaja 2.6.
> równolegle 2.6 i 3.x. W tym celu powstał tool `2to3` [1]_.
2to3 wlasnie uzywalem, aby zrobic kod dla 3.x.
> 1. W 2.6 odpal testy z opcją "-3". Pojawią się ostrzeżenia jeśli
OK tego nie znalem.
> Pod Linuksem tak (shebang), a pod Windowsem nie.
A to pech.
> A dlaczego user miałby teraz instalować 2.6 i 3.x jednocześnie,
> a nie tylko jeden z nich?
Chwilowo zakladam ze user uzywa 2.6.
> Prawda jest taka, że pod Windą ostatnia zainstalowana wersja Pythona
> zostanie powiązana z rozszerzeniem ".py" i wszystko będzie odpalane
> przy użyciu tej wersji.
OK.
> > 3. Jak u siebie na komputerze (+ Windows) prowadzic testy kiedy
> > python.exe jest zarowno w katalogu Python30 jak i Python26?
>
> np.:
> 1. odpalać programy podając pełną ścieżkę do Pythona
Tak. To robilem.
> 2. lub manipulować zmienną PATH tak, aby testowany Python był na niej
> pierwszy
To jest kiepskie dla mnie.
> 3. lub użyć `virtualenv` [3]_ i jego sprytnego skryptu `activate`
> (na Windzie `activate.bat`)
OK. To spradze wyglada ciekawie. Dziekuje za pomoc i pozdrawiam,
--
|\/\/| Seweryn Habdank-Wojewodzki
\/\/
Professionalism in programming - www.accu.org
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads