6 ms·
This is great if you code in pure Python! The problem is that every new Python version seems to break something. Python 3.8 was released almost two weeks ago, a
by AlexeyBrin 7y ago
This is great if you code in pure Python! The problem is that every new Python version seems to break something. Python 3.8 was released almost two weeks ago, and some popular libraries still don't work with it, e. g. SciPy, Matplotlib, OpenCV, PyQt, PySide2 and probably a bunch of other libraries that depend on the above.
- maxerickson 7y agoThere is work towards a stable abi, that should help with such things, eventually.
- dannyz 7y agoYes, exactly. Every new 3.x release ends up being a not insignificant amount of work for us to update our build system for our not pure Python packages.
- dsd 7y agoMaybe a faster release cycle will help Python and friends insulate from this issue better. Akin to os security updates.
- progval 7y agoAccording to the announcement, it should get better: "Now that the stable ABI has been cleaned, extension modules should feel more comfortable targeting the stable ABI which should make supporting newer versions of Python much easier"
- takeda 7y agoThat's not because 3.8 broke something. The packages you mentioned require compiling. To make it simpler for users, the maintainers also provide precompiled versions. The issue here is that no one precompiled them for 3.8 yet. You can still install them but you need to have compiler and their dependencies installed. The length of release cycle is irrelevant for this particular problem.
- kissgyorgy 7y ago> The length of release cycle is irrelevant for this particular problem. No because you need to compile those packages more often, which as it seem, very problematic.
- icegreentea2 7y agoThose packages do need re-compiling, but the official recompiles are blocked by breakages in 3.8. One of the issues blocking scipy release is a bug in 3.8's multiprocessing library: https://bugs.python.org/issue38501 https://bugs.python.org/issue38501 Technically they could probably patch around that in their test-suite... but it really is regression in the language.
- takeda 7y agoI see, I wasn't aware of that, my bad.
- ddavis 7y agoBinary wheels aren't out from everyone you mentioned yet (they are for NumPy and SciPy... but the maintainers of most of the packages you mention appear to usually wait for their next releases before getting the wheels out), but a NumPy + SciPy + Matplotlib + Pandas + Scikit-learn setup was functional before 3.8.0 was released (I had one spinning during the betas, one just has to be willing to compile things from source usually).
- AlexeyBrin 7y ago> Binary wheels aren't out from everyone you mentioned yet (they are for NumPy and SciPy... https://pypi.org/project/scipy/#files https://pypi.org/project/scipy/#files sorry, there is no 3.8 binary wheel for SciPy.
- ddavis 7y agoYou're right, I mixed up scipy and pandas.