Mam oprogramowanie, które rozwijam w Pythonie 3 od lat. Do dzisiaj korzystałem z Ubuntu Desktop 11.04, ale teraz chcę przejść na wyższą wersję Ubuntu.
Czy muszę pozostać na Ubuntu 11.04, aby nie musiałem zmieniać części kodu źródłowego mojego oprogramowania z powodu nowych zmian w wyższych wersjach Ubuntu?
Czy najnowsza wersja Ubuntu nie wpłynie w żaden sposób na moje oprogramowanie?
Odpowiedzi:
Na podstawie twoich komentarzy pomyślnie przetestowałeś swoje oprogramowanie na maszynach wirtualnych, co jest dobrą wiadomością.
Ale jako twórca aplikacji musisz być przygotowany na dostosowanie kodu do nowszych wersji, w przeciwnym razie zostanie on szybko porzucony.
Teraz, aby upewnić się, że będzie nadal działać z nowymi wersjami Ubuntu, gorąco zachęcam do zachowania go jako pakietu i zapewnienia kompletnego pakietu testowego dla twojej aplikacji oraz do wywołania go podczas procesu budowania pakietu (np. Poprzez wywołanie
setup.py test
wdebian/rules
override_dh_auto_test
sekcji ).Możesz łatwo skonfigurować codzienne kompilacje pakietu w ppa, używając przepisu bzr-buildera . W ten sposób będziesz informowany o wszystkich błędach kompilacji spowodowanych przez nowe wersje oprogramowania lub zepsute zależności.
Nowe wersje są zwykle dostępne do opracowania kilka dni po oficjalnym ogłoszeniu. Spójrz na naszą stronę ppa , Utopic jest teraz częścią serii dystrybucji, dla której budujemy:
źródło
Nie, nie powinieneś zostać 11.04. Wsparcie jest już dostępne pod koniec życia. Jeśli chcesz uzyskać jakiekolwiek wsparcie, musisz je uaktualnić, co najmniej do 12.04 (będzie ono obsługiwane przez kolejne trzy lata).
Ponadto, nawet nowsze wersje Ubuntu domyślnie zawierają Python 3.x, w celu całkowitego usunięcia Python 2.x z domyślnej instalacji.
Państwo może mieć problemy z uruchomieniem kodu pod nowszej wersji Pythona 3.x, ale w ogóle powinien mieć żadnych problemów. Jako deweloper powinieneś być przygotowany na wszelkie takie problemy, niezależnie od wersji Ubuntu. Każda używana biblioteka lub sam Python może zawierać błąd, od którego zależy twój kod behawioralny, a jeśli ten błąd zostanie naprawiony, może powodować, że Twój program będzie się zachowywał inaczej niż się spodziewałeś.
źródło
Trudno podać ostateczną odpowiedź bez opisu swojej aplikacji. Ponieważ używasz Python3, przynajmniej nie jesteś ograniczony przez gałąź Python2.x (nie będzie Python 2.8).
Teraz kilka ostrzeżeń, które mogą mieć zastosowanie do twojej aplikacji, w Python3 wiele pakietów jest obecnie nieaktualnych tylko dlatego, że najlepszym sposobem na dostęp do GLib / GObject / GIO / GTK + jest użycie Python GObject Introspection (inaczej PyGI).
Wreszcie, wciąż istnieją drobne różnice między różnymi wersjami Pythona (np. Argparse nie zachowuje się dokładnie tak samo z Pythonem 3.2 i 3.3.
Jedną z rzeczy, które możesz wypróbować, jest uruchomienie maszyny wirtualnej 14.04 i przetestowanie kodu za pomocą python3.4.
źródło
sudo apt-get install python3
). Możesz także sprawdzić informację o wydaniu python3.2, ale o ile wiem, python3.2 to tylko mnóstwo ulepszeń w stosunku do gałęzi 3.1.x (argparse był jednym z nich)Zależy to od Twojego kodu. Jeśli Twój kod korzysta z bibliotek, które nie są obsługiwane, nie możesz łatwo migrować do nowszej wersji systemu operacyjnego, ale przez większość czasu nie wystąpi żaden problem.
źródło
Ubuntu 14.04 ma pakiety python3, więc to nie jest problem.
apt-cache search python3
pokaże ci je. Poza tym będziesz musiał przeczytać informacje o wersji dla każdej wersji Ubuntu między 11.04 a „wyższą wersją” i poszukać zmiany, która zepsuje twoją aplikację. Niewiedza o twoim rozwoju wymaga ode mnie wykrzyczenia YMMV, ale zgaduję, że nie będziesz mieć problemów nie do pokonania.źródło
Jeśli chcesz uruchomić starą wersję Pythona na Ubuntu 14.04, włącz repozytorium deadsnakes . Ma wersje Python 2.3, 2.4, 2.5, 2.6, 3.1, 3.2, 3.3 dla Ubuntu 14.04. Jeśli twoja aplikacja jest czystym kodem Python i nie zależy od zachowania innych procesów, powinna działać poprawnie pod starym interpreterem.
źródło
Inną odpowiedzią jest użycie środowiska wirtualnego, jeśli masz jakiś problem, lub możesz użyć tej samej wersji Pythona 11.04 (pobierz i skompiluj) w 14.04.
źródło