JuliaPy / JuliaPy/PythonCall.jl

juliacall fails from subprocess if already initialied

Abierto
#628 0 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
Julia
Estrellas
1.1k
Forks
86
Merge medio
1 d 22 h
PR fusionados (30 d)
3

Descripción

**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 https://github.com/JuliaPy/PythonCall.jl/issues/77

Running this
```mp.py
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:

```

**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.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.