Contributors mailing list archives
Re: V14, python versionby
Akretion France, David BEAL
Python 3.6 is supported until end 2021.
Imagine you have to migrate a very very complex project to v14.0. Planification learn us migration date will be on December 2021
Then If you align your project on the same version as OCA to have the best reproducibility, you use a version which is unsupported the day you go in production. Probably it's suboptimal and it can be really risky to explicit that to your customer.
I understand the idea to protect projects using python 3.6. But here again, it's suboptimal to begin implementing a project with lower performance than last very stable. Maybe it could be considered as bad practice by OCA ! ? A warning could be logged in this case.
For odoo sh users, I don't know if it's possible to choose python version or if the default is or not 3.8.
But if Odoo customers asked for Odoo SA to allow them to choose 3.8 to ensure OCA modules as better fit, there is no reason in the interest of the customer to refuse it.
David BEAL - akretion.com
Odoo Intégration / Développement
Le mer. 14 oct. 2020 à 10:47, Stéphane Bidoul <firstname.lastname@example.org> a écrit :
I think OCA CI must run with the same python version as the oldest supported by Odoo.If we test, say with python 3.8, people installing OCA modules on otherwise Odoo supported python versions may face compatibility issues.In the other direction, compatibility issues will be much much less frequent, python being pretty good at ensuring backward compatibility.Python 3.6 is supported until end 2021.But we may want to clarify if what Odoo says in setup.py is correct. I don't know what python version Odoo uses on their runbot for instance.-sbiOn Wed, Oct 14, 2020 at 10:07 AM David Beal <email@example.com> wrote:Ok I haven't seen that before, thanks.The problem to begin with an old version is that even for recent projects, 12.0, you get bad signal only after 2 year.DEPRECATION: Python 3.5 reached the end of its life on September 13th, 2020. Please upgrade your Python as Python 3.5 is no longer maintained. pip 21.0 will drop support for Python 3.5 in January 2021. pip 21.0 will remove support for this functionality.I don't think it is a good thing for my customer to early have a deprecated python version.I suppose that the better way to avoid it is to have a recent python version used on OCA CI and then in our project whatever Odoo SA python policy version.
David BEAL - akretion.comConsultantOdoo Intégration / DéveloppementLe mer. 14 oct. 2020 à 09:42, Stéphane Bidoul <firstname.lastname@example.org> a écrit :I've not looked into the cases you mentioned yet, but I note Odoo declares itself as supporting python 3.6:That's why the OCA 14.0 branches have been created for python 3.6 too.-sbiOn Wed, Oct 14, 2020 at 9:27 AM David Beal <email@example.com> wrote:Hi all,The last very stable python is 3.8 (first version in November 2019), 3.8.6 in September 2020Odoo 14.0 released in October supports python 3.7 and upper but that's not without consequenceWe can ask ourself what is the benefit to support 3.7.If yes, we have to deal with this kind of code in our OCA 14.0 module like hereMaybe there is a better way to manage this version incompatibility but if notit can be difficult to ensure 3.7 compatibility in our modulesWithout this compatibility code we have this kind of errorAre you really sure that supports 3.7 is good thing for our client in a fresh new project 14.0 while python 3.8 is very stable ?Even in debian targeted version we may upgrade to 3.8What do you think ?Regards
David BEAL - akretion.comConsultantOdoo Intégration / Développement