strawlab / pyopy

Python bindings to interesting matlab libraries for data analysis
Other
86 stars 16 forks source link

Installation issue on windows using octave #14

Open ghost opened 6 years ago

ghost commented 6 years ago

Hi,

I am trying to install hctsa using octave engine and anaconda python 2.7 on windows. I have added octave to my path. However, now I get this error message:

(base) C:\Temp\octave-4.0.0\bin>hctsa-cli install --engine octave Traceback (most recent call last): File "c:\temp\anaconda2\lib\runpy.py", line 174, in _run_module_as_main "main", fname, loader, pkg_name) File "c:\temp\anaconda2\lib\runpy.py", line 72, in _run_code exec code in run_globals File "C:\Temp\anaconda2\Scripts\hctsa-cli.exe__main__.py", line 9, in <module

File "c:\temp\anaconda2\lib\site-packages\pyopy\hctsa\hctsacli.py", line 22, in main parser.dispatch() File "c:\temp\anaconda2\lib\site-packages\argh\helpers.py", line 55, in dispat ch return dispatch(self, *args, **kwargs) File "c:\temp\anaconda2\lib\site-packages\argh\dispatching.py", line 174, in d ispatch for line in lines: File "c:\temp\anaconda2\lib\site-packages\argh\dispatching.py", line 277, in executecommand for line in result: File "c:\temp\anaconda2\lib\site-packages\argh\dispatching.py", line 260, in call result = function(*positional, **keywords) File "c:\temp\anaconda2\lib\site-packages\pyopy\hctsa\hctsa_install.py", line 258, in install hctsa_prepare_engine(engine) File "c:\temp\anaconda2\lib\site-packages\pyopy\hctsa\hctsa_install.py", line 194, in hctsa_prepare_engine engine.add_path(op.join(HCTSA_DIR, 'Operations')) File "c:\temp\anaconda2\lib\site-packages\pyopy\base.py", line 627, in addpat h , (matlab_path,) = self.eval('ans=path();', outs2py=True) File "c:\temp\anaconda2\lib\site-packages\pyopy\base.py", line 476, in eval command + (';' if supress_text_output and not command.endswith(';') else '') ) File "c:\temp\anaconda2\lib\site-packages\pyopy\backend_oct2py.py", line 131, in _run_command_hook text_response = self.session().eval(new_command, File "c:\temp\anaconda2\lib\site-packages\pyopy\base.py", line 554, in session

self._session = self._session_hook()

File "c:\temp\anaconda2\lib\site-packages\pyopy\backend_oct2py.py", line 158, in _session_hook return Oct2PyNotAll(executable=self._engine_location) File "c:\temp\anaconda2\lib\site-packages\pyopy\backend_oct2py.py", line 151, in init super(Oct2PyNotAll, self).init(executable, logger, timeout, oned_as, tem p_dir, convert_to_float) File "c:\temp\anaconda2\lib\site-packages\oct2py\core.py", line 73, in init self.restart() File "c:\temp\anaconda2\lib\site-packages\pyopy\backend_oct2py.py", line 154, in restart super(Oct2PyNotAll, self).restart() File "c:\temp\anaconda2\lib\site-packages\oct2py\core.py", line 508, in restar t logger=self.logger) File "c:\temp\anaconda2\lib\site-packages\octave_kernel\kernel.py", line 158, in init__ self.repl = self._create_repl() File "c:\temp\anaconda2\lib\site-packages\octave_kernel\kernel.py", line 367, in _create_repl stdin_prompt_regex=STDIN_PROMPT_REGEX) File "c:\temp\anaconda2\lib\site-packages\metakernel\replwrap.py", line 92, in init continuation_prompt_regex)) File "c:\temp\anaconda2\lib\site-packages\metakernel\replwrap.py", line 113, i n set_prompt self.child.expect(promptregex) File "c:\temp\anaconda2\lib\site-packages\pexpect\spawnbase.py", line 327, in expect timeout, searchwindowsize, async) File "c:\temp\anaconda2\lib\site-packages\pexpect\spawnbase.py", line 355, in expect_list return exp.expect_loop(timeout) File "c:\temp\anaconda2\lib\site-packages\pexpect\expect.py", line 104, in exp ect_loop return self.timeout(e) File "c:\temp\anaconda2\lib\site-packages\pexpect\expect.py", line 68, in time out raise TIMEOUT(msg) pexpect.exceptions.TIMEOUT: <pexpect.popen_spawn.PopenSpawn object at 0x00000000 08B63160> searcher: searcher_re: 0: re.compile("octave.>") <pexpect.popen_spawn.PopenSpawn object at 0x0000000008B63160> searcher: searcher_re: 0: re.compile("octave.>")

Any help would be appreciated.

benfulcher commented 6 years ago

I've never tested how far you can get using octave to run hctsa. I suspect not too far, although I'd be curious how many algorithms will run properly in octave (rather than Matlab). I can't help with any specific pyopy issues, unfortunately.

sdvillal commented 6 years ago

Windows and octave is a combination that I never tried. As Ben says, even if you make it work, many hctsa operations will not work.

The error you report is a timeout. Since the last time I tried, octave has changed a lot. Most prominently it now starts on a GUI by default. I suspect we would need to add a "--no-gui" somewhere.

sdvillal commented 6 years ago

A quick search shows this: https://github.com/blink1073/oct2py/issues/82

So set OCTAVE_EXECUTABLE accordingly to your octave version and we should be good to go (at least for this error).

As I said, these are uncharted territories. Before even playing with pyopy I would first try hctsa directly in octave to check if the operations you need can work.