Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Wrong libpython configuration after changing python dir on Linux

Abierto
#993 1 comentario 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
julia, python

Línea de trabajo

Comienza reproduciendo la configuración con Pkg.build("PyCall") e inspecciona el deps.jl generado junto con PyCall.Conda.libpython y PyCall.PYTHONHOME. Rastrea dónde se selecciona PyCall.libpython después de que cambie el directorio de conda; se considera terminado cuando se resuelve bajo /opt/conda/3 y la aplicación compilada portátil puede ejecutarse en otra máquina.

Escrito por el modelo de indexación a partir del texto del issue.

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 -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:

$ 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"
Lenguaje dominante
Julia
Estrellas
1.5k
Forks
186
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de JuliaPy/PyCall.jl

Todos los issues de JuliaPy/PyCall.jl

Issues similares

Más issues de Julia

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.