Saya memiliki perangkat lunak yang telah saya kembangkan di Python 3 selama bertahun-tahun. Sampai hari ini, saya telah menggunakan Ubuntu Desktop 11.04 tetapi sekarang saya ingin pindah ke versi Ubuntu yang lebih tinggi.
Haruskah saya tetap di Ubuntu 11,04 sehingga saya tidak perlu mengubah bagian dari kode sumber perangkat lunak saya karena perubahan baru di versi Ubuntu yang lebih tinggi?
Tidakkah versi Ubuntu terbaru akan memengaruhi perangkat lunak saya dengan cara apa pun?
Jawaban:
Berdasarkan komentar Anda, Anda berhasil menguji perangkat lunak Anda pada VM yang merupakan kabar baik.
Tetapi sebagai pengembang aplikasi Anda harus siap untuk mengadaptasi kode Anda ke rilis yang lebih baru jika tidak maka akan segera ditinggalkan.
Sekarang untuk memastikan bahwa itu akan terus bekerja dengan rilis baru Ubuntu. Saya sangat menganjurkan Anda untuk mempertahankannya sebagai sebuah paket dan menyediakan rangkaian uji lengkap untuk aplikasi Anda dan menyebutnya selama proses pembuatan paket (misalnya dengan menelepon bagian
setup.py test
Andadebian/rules
override_dh_auto_test
) ).Anda dapat dengan mudah mengatur build harian dari paket Anda dalam ppa menggunakan resep bzr-builder . Dengan begitu, Anda akan diberitahu tentang semua kegagalan build yang disebabkan oleh versi perangkat lunak baru atau dependensi yang rusak.
Rilis baru biasanya terbuka untuk pengembangan beberapa hari setelah pengumuman rilis resmi. Lihatlah halaman ppa kami , Utopic sekarang menjadi bagian dari seri distro yang sedang kami bangun:
sumber
Tidak, Anda tidak boleh tetap pada 11.04. Sudah menjadi End of Life untuk dukungan sejak Oktober 2012. Jika Anda ingin dukungan sama sekali, Anda harus meningkatkan, setidaknya ke 12,04 (yang akan didukung selama tiga tahun lagi).
Juga, bahkan versi Ubuntu yang lebih baru termasuk Python 3.x secara default, dengan tujuan menghapus Python 2.x dari instalasi default sepenuhnya.
Anda mungkin memiliki masalah dengan menjalankan kode Anda di bawah versi Python 3.x yang lebih baru, tetapi seharusnya secara umum tidak memiliki masalah. Anda juga harus, sebagai pengembang, bersiap untuk menghadapi masalah seperti itu, apa pun versi Ubuntu yang Anda gunakan. Pustaka apa pun yang Anda gunakan, atau Python sendiri, dapat memiliki bug yang tergantung pada perilaku kode Anda, dan jika bug itu diperbaiki, dapat menyebabkan program Anda berperilaku berbeda dari yang Anda harapkan sebelumnya.
sumber
Sulit untuk memberikan jawaban yang pasti tanpa deskripsi aplikasi Anda. Karena Anda menggunakan Python3, setidaknya Anda tidak dibatasi dengan cabang Python2.x (tidak akan ada Python 2.8).
Sekarang beberapa peringatan yang mungkin berlaku untuk aplikasi Anda, dengan Python3 banyak paket sekarang tidak digunakan lagi karena cara terbaik untuk mengakses GLib / GObject / GIO / GTK + adalah dengan menggunakan Introspeksi Python GObject (alias PyGI).
Akhirnya masih ada beberapa perbedaan kecil antara versi python3 yang berbeda (misalnya Argparse tidak berperilaku sama persis dengan python 3.2 dan 3.3.
Satu hal yang bisa Anda coba adalah mem-boot 14,04 VM dan menguji kode Anda dengan python3.4.
sumber
sudo apt-get install python3
). Anda juga dapat memeriksa catatan rilis python3.2 tetapi sejauh yang saya tahu python3.2 hanyalah banyak perbaikan dari cabang 3.1.x (argparse adalah salah satunya)Itu tergantung pada kode Anda, Jika kode Anda menggunakan perpustakaan yang tidak didukung, Anda tidak dapat bermigrasi ke versi yang lebih baru dari sistem operasi dengan mudah, tetapi sebagian besar waktu tidak ada masalah akan terjadi.
sumber
Ubuntu 14.04 memiliki paket python3, jadi itu bukan masalah.
apt-cache search python3
akan menunjukkannya kepada Anda. Selain itu, Anda harus membaca catatan rilis untuk setiap rilis Ubuntu antara 11,04 dan "versi yang lebih tinggi", dan mencari perubahan yang akan merusak aplikasi Anda. Tidak mengetahui apa pun tentang perkembangan Anda mengharuskan saya untuk berteriak YMMV, tetapi tebakan saya adalah bahwa Anda tidak akan memiliki masalah yang tidak dapat diatasi.sumber
Jika Anda perlu menjalankan versi lama Python di Ubuntu 14.04 maka aktifkan repositori deadsnakes . Ini memiliki versi Python 2.3, 2.4, 2.5, 2.6, 3.1, 3.2, 3.3 untuk Ubuntu 14.04. Jika aplikasi Anda adalah kode Python murni, dan tidak bergantung pada perilaku proses lain, maka aplikasi tersebut seharusnya berfungsi dengan baik di bawah juru bahasa lama.
sumber
Sebagai jawaban lain, Anda dapat menggunakan lingkungan virtual jika Anda memiliki masalah atau Anda dapat menggunakan versi python yang sama di 11.04 (unduh dan bangun) di 14.04.
sumber