Indeed, Python 3.6 accepts the yield
statement that 3.5 chokes on. However, in the constructor for WolframLanguageSession
this error occurs:
Python 3.6.8 (default, May 27 2019, 11:48:37)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license()" for more information.
>>> from wolframclient.evaluation import WolframLanguageSession
>>> from wolframclient.language import wl, wlexpr
>>> session = WolframLanguageSession()
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
session = WolframLanguageSession()
File "/usr/local/lib/python3.6/site-packages/wolframclient/evaluation/kernel/localsession.py", line 121, in __init__
**kwargs)
File "/usr/local/lib/python3.6/site-packages/wolframclient/evaluation/kernel/kernelcontroller.py", line 132, in __init__
'Invalid kernel value. Expecting a filepath as a string.')
ValueError: Invalid kernel value. Expecting a filepath as a string.
>>>
The error occurs because the function find_default_kernel_path()
returns nothing. I used make altinstall
as the final step in building the client, to install it in /usr/local/lib
-- could that be the problem?