antoinecarme / pyaf

PyAF is an Open Source Python library for Automatic Time Series Forecasting built on top of popular pydata modules.
BSD 3-Clause "New" or "Revised" License
457 stars 73 forks source link

Python 3.9 support #149

Closed antoinecarme closed 3 years ago

antoinecarme commented 3 years ago

Check that python 3.9 is supported in pyaf.

antoinecarme commented 3 years ago

also check latest versions of all third-party software used in pyaf : numpy, scipy, pandas, scikit-klearn, matplotlib, xgboost, etc

antoinecarme commented 3 years ago

See PR #152

The CI process fails when trying to use python 3.9

Fails with the following trace back :

Exception in thread Thread-3:

Traceback (most recent call last):

  File "/opt/python/3.9.0/lib/python3.9/threading.py", line 950, in _bootstrap_inner

    self.run()

  File "/opt/python/3.9.0/lib/python3.9/threading.py", line 888, in run

    self._target(*self._args, **self._kwargs)

  File "/opt/python/3.9.0/lib/python3.9/multiprocessing/pool.py", line 576, in _handle_results

    task = get()

  File "/opt/python/3.9.0/lib/python3.9/multiprocessing/connection.py", line 256, in recv

    return _ForkingPickler.loads(buf.getbuffer())

TypeError: <lambda>() takes 6 positional arguments but 7 were given
antoinecarme commented 3 years ago

This is probably related to the following python bug ( not fixed yet ) :

https://bugs.python.org/issue39751

multiprocessing breaks when payload fails to unpickle.

Need to analyze the pickle failure in PyAF.

antoinecarme commented 3 years ago

CircleCI uses python-3.9

Closing