JuliaPy / JuliaPy/PyCall.jl

Wrong libpython configuration after changing python dir on Linux

Abierto
#993 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Julia
Estrellas
1.5k
Forks
186
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

I want to make a portable app with PyCall included, so I move conda into a common folder (this folder I would later copy to another machine when deploying compiled app binaries):
```
sudo cp -rf ~/.julia/conda /opt/conda
```

Then I rebuild PyCall and make sure all conda and python-related paths (there are much of them!) point to the right place:
```julia
julia -e 'import Pkg;
ENV["CONDA_JL_HOME"] = "/opt/conda/3";
ENV["PYTHON"] = "/opt/conda/3/bin/python3.9";
Pkg.add("PyCall");
Pkg.build("PyCall");

using PyCall
@info(
"Conda.jl and PyCall.jl configuration after build, BUT wrong libpython!",
PyCall.Conda.ROOTENV,
PyCall.Conda.MINICONDA_VERSION,
PyCall.Conda.deps_file,
PyCall.Conda.PREFIX,
PyCall.Conda.BINDIR,
PyCall.Conda.LIBDIR,
PyCall.Conda.SCRIPTDIR,
PyCall.Conda.PYTHONDIR,
PyCall.Conda.conda,
PyCall.Conda.CONDARC,
PyCall.PYTHONHOME,
PyCall.libpython
)
'
```

Which gives me all paths set right but `PyCall.libpython`, which prevents me from running my compiled app on another machine: (also, I'm not sure about colons in `PyCall.PYTHONHOME`)
```
┌ Info: Conda.jl and PyCall.jl configuration after build, BUT wrong libpython!
│ PyCall.Conda.ROOTENV = "/opt/conda/3"
│ PyCall.Conda.MINICONDA_VERSION = "3"
│ PyCall.Conda.deps_file = "/home/root2/.julia/packages/Conda/x2UxR/src/../deps/deps.jl"
│ PyCall.Conda.PREFIX = "/opt/conda/3"
│ PyCall.Conda.BINDIR = "/opt/conda/3/bin"
│ PyCall.Conda.LIBDIR = "/opt/conda/3/lib"
│ PyCall.Conda.SCRIPTDIR = "/opt/conda/3/bin"
│ PyCall.Conda.PYTHONDIR = "/opt/conda/3/bin"
│ PyCall.Conda.conda = "/opt/conda/3/bin/conda"
│ PyCall.Conda.CONDARC = "/opt/conda/3/condarc-julia.yml"
│ PyCall.PYTHONHOME = "/opt/conda/3:/opt/conda/3"
└ PyCall.libpython = "/home/root2/.julia/conda/3/lib/libpython3.9.so.1.0"
```

Contents of deps.jl:
```bash
$ cat /home/root2/.julia/packages/Conda/x2UxR/src/../deps/deps.jl
const ROOTENV = "/opt/conda/3"
const MINICONDA_VERSION = "3"
const USE_MINIFORGE = true
const CONDA_EXE = "/opt/conda/3/bin/conda"
```

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.