Am Montag, 13. Januar 2020 17:33:56 UTC+1 schrieb E. Madison Bray: > > On Sat, Jan 11, 2020 at 9:24 AM Antonio Rojas <nqn...@gmail.com > <javascript:>> wrote: > > > > El viernes, 10 de enero de 2020, 14:54:24 (UTC+1), E. Madison Bray > escribió: > >> > >> That seems like the obvious approach to me. As it is I've long felt > >> that Sage should be more flexible in its dependencies where > >> possible/necessary. With most Python packages it's easy as most have > >> a <package>.__version__ and its not so hard to define some variable > >> like IS_RPY_2 and just have two separate branches. I have things like > >> that all over the place in other packages to support e.g. different > >> Numpy versions or work around version-specific bugs. > > > > > > I've opened https://trac.sagemath.org/ticket/28988 for rpy. But at this > point the major issues are python 3.8 and ipython 7, and I don't see how > one could support several versions of them without forking hundreds of > doctests. Both updates require multi-thousand-lines patches, due to changes > in dict sorting and hashes. > > That remains a fault of over-reliance on doctests.
What else should we rely on? Also, doctests are not the only things that fail with current python3 libraries. I don't think > downstream packaging is a good enough reason to push sage to rush > things in such a way that is not well-communicated to the user > community. If you need to have a multi-thousand-line patch then so be > it. A patch is a patch. > That is unfortunate. I agree that "a patch is a patch", but in my view the conclusion should be the opposite: Upstream should strive for no patches to be necessary (except maybe to work around very distro-specific quirks). No 5000 line patches and no 5 line patches. For me this decision means that sage on nixos will likely be stuck on python2 for a while, and I can only hope that the python2 infrastructure keeps working for long enough. I still don't understand the reasoning here. From my point of view (which is of course biased), keeping python2 compatibility has a huge downside. At the same time, keeping it has very little upside. The main reasoning seems to be to give users time to update their code. But the value-addition of keeping python2 in newer sage versions vs just telling users to use 8.9 / 9.0 with python2 seems very small to me. On the contrary, newer features being python3 exclusive might give a good incentive for updating. Otherwise we just postpone the problem until we finally do drop support. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/2568ce65-4c70-469c-abf3-50e4b6c5ab10%40googlegroups.com.