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
459 stars 72 forks source link

AttributeError: module 'pyaf' has no attribute '__version__' #88

Closed jpalma-espinosa closed 6 years ago

jpalma-espinosa commented 6 years ago

Hello! While replicating the tutorial on jupyter notebook, I encounter the following error

AttributeError: module 'pyaf' has no attribute '__version__'

in this piece of code

import pyaf.ForecastEngine as autof
# create a forecast engine. This is the main object handling all the operations
lEngine = autof.cForecastEngine()

# get the best time series model for predicting one week
lEngine.train(iInputDS = df_train, iTime = 'Date', iSignal = 'Signal', iHorizon = 7);
lEngine.getModelInfo() # => relative error 7% (MAPE)

I am sorry if this is a "must know" issue to solve, but digging into StackOverflow provided no clue.

ERROR OUTPUT

INFO:pyaf.std:START_TRAINING 'Signal'
---------------------------------------------------------------------------
RemoteTraceback                           Traceback (most recent call last)
RemoteTraceback: 
"""
Traceback (most recent call last):
  File "/Users/javier/anaconda3/lib/python3.6/site-packages/multiprocess/pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "/Users/javier/anaconda3/lib/python3.6/site-packages/pathos/helpers/mp_helper.py", line 15, in <lambda>
    func = lambda args: f(*args)
  File "/Users/javier/anaconda3/lib/python3.6/site-packages/pyaf/TS/SignalDecomposition.py", line 308, in run_transform_thread
    arg.mSigDec.train(arg.mInputDS, arg.mTime, arg.mSignal, arg.mHorizon, arg.mTransformation);
  File "/Users/javier/anaconda3/lib/python3.6/site-packages/pyaf/TS/SignalDecomposition.py", line 279, in train
    lModel = tsmodel.cTimeSeriesModel(self.mTransformation, trend, cycle, autoreg);
  File "/Users/javier/anaconda3/lib/python3.6/site-packages/pyaf/TS/TimeSeriesModel.py", line 31, in __init__
    self.mTrainingVersionInfo = self.getVersions();
  File "/Users/javier/anaconda3/lib/python3.6/site-packages/pyaf/TS/TimeSeriesModel.py", line 352, in getVersions
    lVersionDict["PyAF_version"] = pyaf.__version__;
AttributeError: module 'pyaf' has no attribute '__version__'
"""

The above exception was the direct cause of the following exception:

AttributeError                            Traceback (most recent call last)
/Users/javier/anaconda3/lib/python3.6/site-packages/pyaf/ForecastEngine.py in train(self, iInputDS, iTime, iSignal, iHorizon, iExogenousData)
     24             self.mSignalDecomposition.mOptions = self.mOptions;
---> 25             self.mSignalDecomposition.train(iInputDS, iTime, iSignal, iHorizon, iExogenousData);
     26         except tsutil.PyAF_Error as error:

/Users/javier/anaconda3/lib/python3.6/site-packages/pyaf/TS/SignalDecomposition.py in train(self, iInputDS, iTime, iSignal, iHorizon, iExogenousData)
    577         if(self.mOptions.mParallelMode):
--> 578             self.train_multiprocessed(iInputDS, iTime, iSignal, iHorizon);
    579         else:

/Users/javier/anaconda3/lib/python3.6/site-packages/pyaf/TS/SignalDecomposition.py in train_multiprocessed(self, iInputDS, iTime, iSignal, iHorizon)
    397 
--> 398         for res in pool.imap(run_transform_thread, args):
    399             # print("FINISHED_TRAINING" , res.mName);

/Users/javier/anaconda3/lib/python3.6/site-packages/multiprocess/pool.py in next(self, timeout)
    694             return value
--> 695         raise value
    696 

AttributeError: module 'pyaf' has no attribute '__version__'

During handling of the above exception, another exception occurred:

PyAF_Error                                Traceback (most recent call last)
<ipython-input-7-86527291711a> in <module>()
      4 
      5 # get the best time series model for predicting one week
----> 6 lEngine.train(iInputDS = df_train, iTime = 'Date', iSignal = 'Signal', iHorizon = 7);
      7 lEngine.getModelInfo() # => relative error 7% (MAPE)

/Users/javier/anaconda3/lib/python3.6/site-packages/pyaf/ForecastEngine.py in train(self, iInputDS, iTime, iSignal, iHorizon, iExogenousData)
     28         except Exception as error:
     29             # print('caught this training error: ' + repr(error))
---> 30             raise tsutil.PyAF_Error("TRAIN_FAILED");
     31         pass
     32 

PyAF_Error: TRAIN_FAILED

SYSTEM INFO

PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('matplotlib_version', '2.1.1')
PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('numpy_version', '1.13.3')
PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('pandas_version', '0.22.0')
PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('pydot_version', '1.2.4')
PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('python_implementation', 'CPython')
PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('python_version', '3.6.1')
PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('scipy_version', '1.0.0')
PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('sklearn_version', '0.19.1')
PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('sqlalchemy_version', '1.2.0')
PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('system_platform', 'Darwin-17.3.0-x86_64-i386-64bit')
PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('system_processor', 'i386')
PYAF_SYSTEM_DEPENDENT_VERSION_INFO ('system_uname', uname_result(system='Darwin', node='MacBook-Pro-de-Javier-2.local', release='17.3.0', version='Darwin Kernel Version 17.3.0: Thu Nov  9 18:09:22 PST 2017; root:xnu-4570.31.3~1/RELEASE_X86_64', machine='x86_64', processor='i386'))
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('Apple_PubSub_Socket_Render', '/private/tmp/com.apple.launchd.WNuXhPRuIp/Render')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('CLICOLOR', '1')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('DISPLAY', '/private/tmp/com.apple.launchd.yHGfdLwDir/org.macosforge.xquartz:0')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('GIT_PAGER', 'cat')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('HOME', '/Users/javier')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('JPY_PARENT_PID', '5911')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('LOGNAME', 'javier')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('LSCOLORS', 'ExFxBxDxCxegedabagacad')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('MPLBACKEND', 'module://ipykernel.pylab.backend_inline')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('PAGER', 'cat')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('PATH', '/Users/javier/anaconda3/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('PS1', '\\[\\033[36m\\]\\u\\[\\033[m\\]@\\[\\033[32m\\]\\h:\\[\\033[33;1m\\]\\w\\[\\033[m\\]$ ')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('PWD', '/Users/javier')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('SECURITYSESSIONID', '186a7')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('SHELL', '/bin/bash')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('SHLVL', '1')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('SSH_AUTH_SOCK', '/private/tmp/com.apple.launchd.5ZOojd0O6o/Listeners')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('TERM', 'xterm-color')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('TERM_PROGRAM', 'Apple_Terminal')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('TERM_PROGRAM_VERSION', '400')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('TERM_SESSION_ID', '2A390F38-E1AF-4A67-9D52-5B2B65F84F47')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('TMPDIR', '/var/folders/l2/0d6wkyh96n3d_s05ml6jy70w0000gn/T/')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('USER', 'javier')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('XPC_FLAGS', '0x0')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('XPC_SERVICE_NAME', '0')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('_', '/Users/javier/anaconda3/bin/jupyter-notebook')
PYAF_SYSTEM_DEPENDENT_ENVIRONMENT_VARIABLE ('__CF_USER_TEXT_ENCODING', '0x1F5:0x0:0x8')
antoinecarme commented 6 years ago

@jpalma-espinosa

Thanks for the bug report. This is a real new issue.

I will commit a fix in the few coming minutes, can you please do some test after reinstalling PyAF ?

antoinecarme commented 6 years ago

(possible) fix committed.

jpalma-espinosa commented 6 years ago

@antoinecarme Can dooooo

jpalma-espinosa commented 6 years ago

uhmmm...Interesting. Uninstalled and reinstalled from the repo pip install --upgrade git+git://github.com/antoinecarme/pyaf.git

Running it on Jupyter notebook gives error, while using it "offline" in spyder worked like charm.

antoinecarme commented 6 years ago

you have to restart completely your notebook

jpalma-espinosa commented 6 years ago

ups, my bad. Restarted and working on jupyter Thank you! =)

antoinecarme commented 6 years ago

Thank you too for the feedback.

Enjoy!!!!

closing.