Skip to content

juliacall fails from subprocess if already initialied #628

Open
@dpinol

Description

@dpinol

Affects: JuliaCall

Describe the bug
If juliacall is imported, and then a python subprocess uses juliacall, it fails at least when executed with PYTHON_JULIACALL_HANDLE_SIGNALS=yes .
If it's a package limitation, I guess it should be clearly documented. Related to #77

Running this

import os
from multiprocessing import Process
import juliacall

def use_juliacall() -> None:
    # import juliacall

    print(os.getpid())
    juliacall.Base.println("hola")


p = Process(target=use_juliacall)
p.start()
p.join()

I get

Process Process-1:
Traceback (most recent call last):
  File "/home/dani/.pyenv/versions/3.13.4/lib/python3.13/multiprocessing/process.py", line 313, in _bootstrap
    self.run()
    ~~~~~~~~^^
  File "/home/dani/.pyenv/versions/3.13.4/lib/python3.13/multiprocessing/process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dani/source/repos/sc-tools/scpytools/mp.py", line 9, in use_juliacall
    juliacall.Base.println("hola")
    ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/dani/.julia/packages/PythonCall/L4cjh/src/JlWrap/any.jl", line 249, in __getattr__
    return self._jl_callmethod($(pyjl_methodnum(pyjlany_getattr)), k)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
juliacall.JuliaError: <exception str() failed>

Your system
Please provide detailed information about your system:

  • Ubuntu 25.04
  • python 3.13.4
  • julia 1.11.5
  • PythonCall, JuliaCall: 0.9.25
Package   Version
--------- -------
filelock  3.18.0
juliacall 0.9.25
juliapkg  0.1.17
pip       25.1.1
semver    3.0.4

>>> juliapkg.status()
JuliaPkg Status
/home/dani/.virtualenvs/deleteme/julia_env/pyjuliapkg/juliapkg.json (empty project)
Julia 1.11.5 @ /home/dani/.julia/juliaup/julia-1.11.5+0.x64.linux.gnu/bin/julia

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions