-
Notifications
You must be signed in to change notification settings - Fork 73
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
Affects: JuliaCall
Describe the bug
On Julia 1.6.7, I tried loading the JuliaCall IPython extension in a Jupyter notebook (as part of the PySR test suite, I have a notebook that runs and does %load_ext juliacall
and does various Julia stuff).
I executed it in a line with %julia println(3)
. This gives me the following traceback:
JuliaError Traceback (most recent call last)
/tmp/ipykernel_3051/1932480696.py in <module>
----> 1 get_ipython().run_line_magic('julia', 'println(3)')
/opt/hostedtoolcache/Python/3.7.17/x64/lib/python3.7/site-packages/IPython/core/interactiveshell.py in run_line_magic(self, magic_name, line, _stack_depth)
2416 kwargs['local_ns'] = self.get_local_scope(stack_depth)
2417 with self.builtin_trap:
-> 2418 result = fn(*args, **kwargs)
2419 return result
2420
/opt/hostedtoolcache/Python/3.7.17/x64/lib/python3.7/site-packages/decorator.py in fun(*args, **kw)
230 if not kwsyntax:
231 args, kw = fix(args, kw, sig)
--> 232 return caller(func, *(extras + args), **kw)
233 fun.__name__ = func.__name__
234 fun.__doc__ = func.__doc__
/opt/hostedtoolcache/Python/3.7.17/x64/lib/python3.7/site-packages/IPython/core/magic.py in <lambda>(f, *a, **k)
185 # but it's overkill for just that one bit of state.
186 def magic_deco(arg):
--> 187 call = lambda f, *a, **k: f(*a, **k)
188
189 if callable(arg):
/opt/hostedtoolcache/Python/3.7.17/x64/lib/python3.7/site-packages/juliacall/ipython.py in julia(self, line, cell)
52 ans = Main.seval('begin\n' + code + '\nend')
53 # flush stderr/stdout
---> 54 PythonCall._flush_stdio()
55 # copy variables back to Python
56 # only copy those which are new or have changed value
/opt/hostedtoolcache/Python/3.7.17/x64/lib/python3.7/site-packages/juliacall/__init__.py in __call__(self, *args, **kwargs)
206 return ValueBase.__dir__(self) + self._jl_callmethod($(pyjl_methodnum(pyjlany_dir)))
207 def __call__(self, *args, **kwargs):
--> 208 return self._jl_callmethod($(pyjl_methodnum(pyjlany_call)), args, kwargs)
209 def __bool__(self):
210 return True
JuliaError: MethodError: no method matching flush(::Tuple{Base.PipeEndpoint, Base.PipeEndpoint})
Closest candidates are:
flush(!Matched::Base.DevNull) at coreio.jl:19
flush(!Matched::TextDisplay) at multimedia.jl:253
flush(!Matched::IOStream) at iostream.jl:66
...
Stacktrace:
[1] _flush_stdio()
@ PythonCall ./none:11
[2] pyjlany_call(self::typeof(PythonCall._flush_stdio), args_::Py, kwargs_::Py)
@ PythonCall ~/.julia/packages/PythonCall/wXfah/src/jlwrap/any.jl:39
[3] _pyjl_callmethod(f::Any, self_::Ptr{PythonCall.C.PyObject}, args_::Ptr{PythonCall.C.PyObject}, nargs::Int64)
@ PythonCall ~/.julia/packages/PythonCall/wXfah/src/jlwrap/base.jl:69
[4] _pyjl_callmethod(o::Ptr{PythonCall.C.PyObject}, args::Ptr{PythonCall.C.PyObject})
@ PythonCall.C ~/.julia/packages/PythonCall/wXfah/src/cpython/jlwrap.jl:47
This is the most recently released version of JuliaCall. So it basically looks like this flush
call is not compatible with Julia 1.6?
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working