Monday, October 26, 2020

Re: Okay to drop Python 2 support to unbreak scikit-learn with Python 3.8?

On Sun, Oct 25, 2020 at 11:44:29AM -0400, Daniel Dickman wrote:
> Hi James,
>
> Not sure if you're still looking into this or not, but I took another stab
> at it. See attached for new a new port for py-threadpoolctl and an sklearn
> diff.
>
> I tried to run the regress tests, but it core dumped about half way in for
> me... which is still better than the current situation where it bails
> directly after "import sklearn".
>
> Does this work any better for you?
>
> Paul, any thoughts? Can this go in?

Thanks! It works fine with my own use-case, which is running
beancount-import.

However I did notice "make test" also fails for py-threadpoolctl.

Below I've included two pieces of "make test" output...

1. The end of "make test" output for py-threadpoolctl, but with a bunch
of source code replaced with "...":

tests/test_threadpoolctl.py:417:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/local/lib/python3.8/subprocess.py:489: in run
with Popen(*popenargs, **kwargs) as process:
/usr/local/lib/python3.8/subprocess.py:854: in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

...

if errno_num != 0:
err_msg = os.strerror(errno_num)
> raise child_exception_type(errno_num, err_msg, err_filename)
E FileNotFoundError: [Errno 2] No such file or directory: 'python'

/usr/local/lib/python3.8/subprocess.py:1702: FileNotFoundError
================ 3 failed, 9 passed, 37 skipped in 4.03 seconds ================
*** Error 1 in . (/home/falsifian/w/OpenBSD/ports/lang/python/python.port.mk:264 'do-test': @cd /home/falsifian/w/OpenB
SD/ports/pobj/py-thre...)
*** Error 2 in . (/home/falsifian/w/OpenBSD/ports/infrastructure/mk/bsd.port.mk:2954 '/home/falsifian/w/OpenBSD/ports/p
obj/py-threadpoolctl-2.1.0-python3/.test_done')
*** Error 2 in /home/falsifian/w/OpenBSD/ports/sysutils/py-threadpoolctl (/home/falsifian/w/OpenBSD/ports/infrastructur
e/mk/bsd.port.mk:2584 'test')

2. For completeness, the end of the "make test" output for
py-scikit-learn; it segfaults just as you said:

sklearn/preprocessing/tests/test_label.py .............................. [ 47%]
.... [ 47%]
sklearn/semi_supervised/_label_propagation.py ... [ 47%]
sklearn/semi_supervised/tests/test_label_propagation.py .........F. [ 47%]
sklearn/svm/_classes.py ....... [ 47%]
sklearn/svm/tests/test_bounds.py ................... [ 47%]
sklearn/svm/tests/test_sparse.py ............................... [ 48%]
sklearn/svm/tests/test_svm.py .......................Segmentation fault (core dumped)
*** Error 139 in . (/home/falsifian/w/OpenBSD/ports/lang/python/python.port.mk:264 'do-test': @cd /home/falsifian/w/OpenBSD/ports/pobj/py-sc...)
*** Error 2 in . (/home/falsifian/w/OpenBSD/ports/infrastructure/mk/bsd.port.mk:2954 '/home/falsifian/w/OpenBSD/ports/pobj/py-scikit-learn-0.23.2-python3/.test_done')
*** Error 2 in /home/falsifian/w/OpenBSD/ports/math/py-scikit-learn (/home/falsifian/w/OpenBSD/ports/infrastructure/mk/bsd.port.mk:2584 'test')


--
James

No comments:

Post a Comment