Pytanie:
Kiedy chcę, aby Python 2 vs Python 3 na Pi?
YetAnotherRandomUser
2017-11-08 05:09:35 UTC
view on stackexchange narkive permalink

Nigdy nie programowałem w Pythonie, ale ostatnio natknąłem się na artykuł, w którym mowa o różnicach w nauce Pythona 2 i Pythona 3 i zatwierdzaniu jednej lub drugiej wersji.

Jakie są abstrakcyjne różnice poziomów między Pythonem 2 a Pythonem 3 w odniesieniu do hobbystów zajmujących się hobby na Pi i uczących się Pythona?

Na przykład, czy zapewnia znaczną przewagę lub wadę w pracy z GPIO lub inne IO Pi? Czy jakieś funkcje Pi są utrudnione, osłabiane lub nie są obecne przez używanie jednej wersji nad drugą?

Patrząc na tekst zastępczy znacznika Pythona, wydaje się, że nie Nie muszę wybierać, ponieważ oba są zwykle dostarczane z systemem operacyjnym. Z jakiegoś powodu wydaje się to zagmatwane.

Wydaje się, że to nieodpowiednie pytanie dla tej witryny. Możesz mieć więcej szczęścia na raspberrypi.org/forums
Wiele osób argumentowałoby, że jakakolwiek wersja Pythona „osłabia” (jak to ująłeś), więc w pewnym sensie cała przesłanka tego pytania jest nonsensowna. (Raspberry Pi nie wypycha Pythona, ponieważ jest "dobry" w jakimkolwiek sensie - pchają go, ponieważ uważają, że jest to łatwe.) Do tego stopnia, że ​​istnieją, jak zauważyłeś, dwie "żywe" wersje Pythona w tej chwili prawdopodobnie zależy od tego, co chcesz robić i od opinii, więc myślę, że to ostatecznie nie jest tematem dla tej witryny.
Osobiście nie zgadzam się z pozostałymi dwoma komentarzami, że to nie jest ważne pytanie dla strony, uważam, że jest to ważne pytanie dla kogoś, kto przychodzi na platformę. Zasadniczo jest to strona QA dotycząca platformy pi. Biorąc pod uwagę, że pytanie zostało sformułowane specjalnie pod kątem RPI, umieściłem w mojej odpowiedzi, mimo że byłaby to ta sama odpowiedź niezależnie.
Myślę, że to pytanie jest wystarczająco dobrze sformułowane w kontekście Pi, aby nie było nie na temat, a odpowiedzi na nie nie muszą być oparte na opinii. Istnienie pewnych funkcji (np. Biblioteki dla GPIO i odpowiednie wersje Pythona) lub ich brak można omówić dość obiektywnie. Biorąc pod uwagę, że [Python 2.x zostanie wycofany w 2020 r.] (Https://pythonclock.org/), posunąłbym się jednak tak daleko i powiedziałbym: Uruchamianie Pythona teraz? Zrób sobie przysługę i przejdź do Pythona 3. Jeśli istnieją biblioteki kluczy, które nie są dostępne dla Py 3, należy je zmigrować lub będziesz musiał poszukać prawidłowych alternatyw.
Jeden odpowiedź:
crasic
2017-11-08 06:01:13 UTC
view on stackexchange narkive permalink

To ten sam język, tylko nowa wersja / poprawka standardu i specyfikacji. Różnice są na tyle subtelne, że prawdopodobnie nie zauważysz.

Języki to bardzo formalne, ustandaryzowane rzeczy, takie jak słowniki , mapy lub przepisy.

Kiedy norma ulegnie zmianie lub dodana zostanie funkcja - zwykle po długim okresie debaty i dyskusji - ten formalny dokument jest aktualizowany. Co wyzwala nowy numer wersji.

Python3 był znaczącą aktualizacją istniejącego standardu, więc posunęli się nawet do zmiany pierwszej liczby w polu wersji, aby wskazać jej znaczenie. Jednak jego „nadal python”

Ze strony python.org o 2vs3

Jakie są różnice?

Wersja skrócona: Python 2.x jest starszym, Python 3.x to teraźniejszość i przyszłość języka

Na moim miejscu zacząłbym się uczyć od obecna wersja, chyba że masz nieodparty powód - jak na przykład biblioteka, którą musisz mieć napisaną dla pythona2.


Szczegóły

Jakie są abstrakcyjne różnice poziomów między Pythonem 2 i Pythonem 3, ponieważ odnosi się do hobbystów zajmujących się hobby na Pi i uczących się Pythona?

Praktycznie brak.

z perspektywy inżynierii systemów (większe projekty osadzone), istnieje kilka funkcji w Pythonie3, które sprawiają, że jest on bardziej odpowiednim językiem do projektowania dużych systemów.

Na przykład zapewnia znaczną przewagę lub wady pracujesz z GPIO lub innym IO Pi? Czy jakiekolwiek funkcje Pi są utrudnione, osłabione lub nieobecne przez użycie jednej wersji nad drugą?

Nie, nie ma znaczącej przewagi ani wady dla jednej z nich w przypadku uczenia się lub działania rzeczy „hobbystyczne”.

Jednak Jeśli istnieje biblioteka, samouczek lub przykład, który chcesz wypróbować, który obsługuje jedną, a nie drugą, zacznij od tej wersji

Python2 nadal ma więcej wsparcia ze strony bibliotek i więcej kodu do niego np. github jako przykładu. Ale to szybko się zmienia.

ponieważ oba są zwykle dostarczane z systemem operacyjnym. Z jakiegoś powodu wydaje się to zagmatwane.

Może.

Dostępnych jest wiele narzędzi systemowych i aplikacji napisanych w Pythonie, często te programy działają dobrze, i są bardzo dobrze przetestowane w wielu zastosowaniach.

Przeniesienie do Python3 stwarza ryzyko, które może nie być warte wysiłku. W związku z tym wiele systemów będzie pakować zarówno python2, jak i python3, aby uruchamiać oprogramowanie wymagające jednego lub drugiego.

Zdecydowanie polecam nauczenie się używania virtualenv i pip do tworzenia lokalnych, niestandardowych instalacji Pythona na podstawie projektu. Python "systemowy" jest przeznaczony do obsługi zainstalowanych programów i może nie być wersją, której chcesz używać

Bardzo przydatne, czy możesz podać link do pip i virtualenv do nauki? Dzięki
@PhilippeGachoud Mogę zasugerować [moją powiązaną odpowiedź] (https://raspberrypi.stackexchange.com/a/79792/71180) i [powiązane pytanie dotyczące stackoverflow] (https://stackoverflow.com/questions/35017160/how- to-use-virtualenv-with-python), a także przewodnik po Pythonie na virtualenv [tutaj] (https://docs.python-guide.org/dev/virtualenvs/#lower-level-virtualenv). Podstawową zasadą jest „apt-get” do instalowania pakietów systemowych, „virtualenv” + „pip” do instalowania środowisk specyficznych dla projektów. `pyenv` jest zaawansowanym opakowaniem, które pozwala na jeszcze większą konfigurację poza` virtualenv`


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 3.0, w ramach której jest rozpowszechniana.
Loading...