JuliaPy / JuliaPy/PyCall.jl

Wrong python path when updating PyCall on NixOS

Ouverte
#771 0 commentaires 3 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Julia
Étoiles
1.5k
Forks
186
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

When trying to update PyCall on NixOS the build script does not pick up the correct python binary for my nix environment and fails while building with this error:

>Error: Error building `PyCall`:
│ PREFIX=/home/christoph/.julia/conda/3
│ Unpacking payload ...
│ /home/christoph/.julia/conda/3/installer.sh: line 404: /home/christoph/.julia/conda/3/conda.exe: No such file or directory
│ /home/christoph/.julia/conda/3/installer.sh: line 406: /home/christoph/.julia/conda/3/conda.exe: No such file or directory
│ ┌ Info: No system-wide Python was found; got the following error:
│ │ Base.IOError("could not spawn setenv(`/nix/store/1ysl29qhalc442cnjxpsbg4apmzl77w9-python3-3.7.5-env/bin/python3.7
...

when the newer and correct Python binary for this particular nix environment is:
>/nix/store/bgqm5mslbcn42cx52qm45275gvsw85gv-python3-3.7.6-env/bin/python

Nuking `~/.julia/` and trying to install PyCall from scratch works though. My best guess is that PyCall somewhere stores the path to the Python binary it finds when installed for the first time and tries to keep using that even though nix has moved python to a different directory.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

The issue names the PyCall build script and the Python-selection path but no repository files or tests. Start by tracing how an update selects and stores the Python binary, then reproduce the update on NixOS. Done means an existing PyCall installation uses the current environment's Python path instead of a stale Nix store path.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
build-system, operating-systems
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.