NVM Napisano Lipiec 10, 2010 Zgłoszenie Share Napisano Lipiec 10, 2010 Witam, właśnie uczę się Pythona. Jak zmienić w systemie, by korzystał z Pythona 3.1 na pewien czas, zamiast 2.6? Pzdr, NVM Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
borzole Napisano Lipiec 10, 2010 Zgłoszenie Share Napisano Lipiec 10, 2010 * yum install python3 * jeśli chcesz sprawdzać, czy skrypt jest zgodny z różnymi wersjami pythona to wystarczy python3 /dir/silnik.py * lub jeśli tylko dla konkretnej wersji, to uwzględnij to w shabang #!/usr/bin/env python3 * zmienianie tego globalnie chyba odpada, bo wszystkie narzędzia w systemie musiałyby być gotowe na 3 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
SeeM Napisano Lipiec 11, 2010 Zgłoszenie Share Napisano Lipiec 11, 2010 Witam, właśnie uczę się Pythona. Jak zmienić w systemie, by korzystał z Pythona 3.1 na pewien czas, zamiast 2.6? Ucz się 2.6 , oszczędzisz sobie czas. Do 3.1 nie ma jeszcze na tyle dużo oprogramowania, książek, tutoriali i po prostu kodu żeby się pobawić. Pythona 3 zostaw sobie na przyszłe wakacje. Jak napisał borzole - gdybyś utworzył /usr/bin/python jako dowiązanie do /usr/bin/python3, to połowa Gnoma przestanie działać, to samo kreatorki systemowe i cała góra innego oprogramowania. Jeśli chcesz się bawić Pythonem 3, to fajnie, ale systemu w to nie mieszaj. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
abc Napisano Lipiec 12, 2010 Zgłoszenie Share Napisano Lipiec 12, 2010 Ucz się 2.6 , oszczędzisz sobie czas. Oj, nie powiedział bym. W 2.6 obsługa kodowania znaków jest tak spieprzona maksymalnie, że nieraz pół dnia trzeba się namęczyć żeby coś wyprintować. Oczywiście nie mówię tu o najprostszych przypadkach, ale wystarczy przejrzeć google pod hasłem 'python unicode problem' żeby zobaczyć jak ogromna jest skala problemu. Nie wiem jak jest w 3, ale czytałem że to naprawili. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
borzole Napisano Lipiec 12, 2010 Zgłoszenie Share Napisano Lipiec 12, 2010 #!/usr/bin/env python #-*- coding:utf-8 -*- ? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
SeeM Napisano Lipiec 12, 2010 Zgłoszenie Share Napisano Lipiec 12, 2010 #!/usr/bin/env python #-*- coding:utf-8 -*- print u"Zażółć gęśłą jaźń." W Pythonie 3 wszystko co wpiszesz jest na utf-8, więc nie trzeba tak czarować, ale jedna linijka określające kodowanie i "u" przed stringami to jeszcze nie gigantyczny problem. Zresztą są już narzędzia do automatyzacji i wykrywanie problemów z portowaniem swojego kodu z Pythona 2.x do 3. Dodatkowo w Pythonie 2.7 jest moduł future, który daje dostęp do nowych rzeczy. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
borzole Napisano Lipiec 12, 2010 Zgłoszenie Share Napisano Lipiec 12, 2010 Na początku nauki pythona to jest gigantyczny problem. Ja zupełnie nie wiedziałem o co chodzi, bo sobie określałem kodowanie w drugiej linii, ale z kilkoma liniami odstępu i ...nie działa. No i w mordę jeża "o co chodzi?!" Chyba z siedem razy zaczynałem tego pythona, zanim się zorientowałem, że jak mówią druga linia to druga linia i koniec! Jak już to przeskoczyłem to poszło gładko. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
abc Napisano Lipiec 12, 2010 Zgłoszenie Share Napisano Lipiec 12, 2010 print u"Zażółć gęśłą jaźń." W Pythonie 3 wszystko co wpiszesz jest na utf-8, więc nie trzeba tak czarować, ale jedna linijka określające kodowanie i "u" przed stringami to jeszcze nie gigantyczny problem. Zresztą są już narzędzia do automatyzacji i wykrywanie problemów z portowaniem swojego kodu z Pythona 2.x do 3. Dodatkowo w Pythonie 2.7 jest moduł future, który daje dostęp do nowych rzeczy. Tyle to wiem. Ale jak przychodzi do czytania ze strumieni (np. jakieś połączenie sieciowe), przetwarzania i wypisywania tych danych to dopiero się schody zaczynają. Nieraz mi się zdarzało, że print na terminal działał, ale już po przekierowaniu do pliku program się sypał na błędach w kodowaniu. Albo jak się łączyłem przez ssh i odpalałem zdalnie program to działał, a już przez putty się wywalał, znów na kodowaniu znaków. Powpisywanie kilku magicznych linijek w różnych miejscach potrafi pomóc w większości przypadków, ale tylko w większości. Zresztą nawe taki "print u'żółć'" potrafi raz działać raz nie, zależnie od sposobu uruchomienia programu (przypadki jak wyżej). Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
NVM Napisano Lipiec 17, 2010 Autor Zgłoszenie Share Napisano Lipiec 17, 2010 Borzole - dzięki za wyjaśnienie Obecnie uczę się Py3, bo Blender 2.6 będzie go obsługiwał, a jako, że F13 już ma tą możliwość zainstalowania Py3, to czemu by nie spróbować? Co zaś tyczy się nauki, w książce "Python 3. Kompletne wprowadzenie do programowania. Wydanie II" Marka Summerfielda jest wszystko fajnie wyjaśnione. Jako wielki plus mogę zaliczyć, że są tam też ćwiczenia pomagające utrwalić wiedzę z poszczególnych rozdziałów i zrozumieć ideę programowania w Pythonie. Generalnie - warta polecenia. Jak przeglądałem, to na takie rozmiary sporo rzeczy jest wyjaśnione, podobno wystarcza by tworzyć własne, porządne programy. A i tak wiadomo, że dokumentacja jest niezbędna, to na start ta książka całkiem pasi Pzdr, NVM Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
MC' Napisano Lipiec 17, 2010 Zgłoszenie Share Napisano Lipiec 17, 2010 w kwestii formalnej. Czy jesli zainstaluje sobie python3 to cały system się od razu przestawi na 3 czy jest tak jak z javą (alternatives) że mogę sobie ustalić to potem? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
borzole Napisano Lipiec 17, 2010 Zgłoszenie Share Napisano Lipiec 17, 2010 Nic się nie przestawi samo. Globalnego ustawienia przez "alternatives" bym nie używał, bo niektóre programy mogą przestać działać poprawnie np. nie ma modułu gtk w python 3 ! W F13 to raczej pierwsza przymiarka niż pełna implementacja trójki. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
MC' Napisano Lipiec 17, 2010 Zgłoszenie Share Napisano Lipiec 17, 2010 Nie wiem czy dobrze rozumiem. Czyli jest coś takiego jak "alternatives" dla pyhona? Nie, oczywiście nie chcę przestawiać ale chciałem sie pouczyć 3.x i dlatego pytam czy instalacja w ten sposób podany przez Ciebie nie updatuje mi pythona systemowego Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
borzole Napisano Lipiec 17, 2010 Zgłoszenie Share Napisano Lipiec 17, 2010 * nie, to jest równoległa instalacja, która w żaden sposób nie ingeruje w domyślne ustawienia i cokolwiek chcesz zrobić w Python 3 to musisz wymusić np. w #! konkretną wersję * "alternatives" możesz ustawić sobie dla wszystkiego co chcesz, jednak tutaj trzeba by wywrócić wszystko od podstaw, bo rpm instaluje python'a 2.6 do /usr/bin/python, czyli często używanej ścieżki. Można by użyć innej lokalizacji np. /bin/python i tam zrobić dowiązanie do alternatyw, ale to rzadko używana lokalizacja, więc lepiej tylko na własne potrzeby. Najlepiej było by użyć "env", ale nie wiem jak tak się ustala domyślne parametry Z drugiej strony diff /usr/bin/python{,2.6} nic nie zwraca, co ozn. że to są te same pliki, więc możesz wywalić /usr/bin/python i zamiast niego zrobić "alternatives" przełączane pomiędzy 2.6 a 3. Jeśli tylko wiesz co robisz to nic nie sknocisz. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
MC' Napisano Lipiec 17, 2010 Zgłoszenie Share Napisano Lipiec 17, 2010 Ok dzięki za odpowiedź tego właśnie nie byłem pewien Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się