Christopher Rodriguez schreef op wo 22-12-2021 om 14:59 [-0500]: > I've been digging through the source, and it seems as though > `python-build-system` does not actually set the $GUIX_PYTHONPATH > variable in the environment. That variable seems to only be set by > `python-2.7` and its derivatives, including `python3.9`, during a > step > after the install process.
> [...] > I don't know if this is intended. If it is, that would mean that > (currently) there is no easy way to set the $GUIX_PYTHONPATH > variable > outside of installing `python` in a profile. That would certainly be > the > most expedient way forward (and how it would be done on traditional > distros). python-build-system doesn't GUIX_PYTHONPATH, because that's the job of the native-search-paths of python. When a python library is being built, GUIX_PYTHONPATH is set because the library has python among its (implicit) inputs. The same holds for profiles: if python and package containing a lib/pythonVERSION/site-packages are in the same profile, then GUIX_PYTHONPATH is set in that profile. > Both `guix install python` and `export > GUIX_PYTHONPATH=/gnu/..../site-packages` work to allow the > environment > variable to be set. But it might be better and more future-proof to > just > install python in the profile as a dependency, since the program > itself > actually depends on `python` anyway. There's a reason why we don't ‘just propagate’ like in classical distros: what if the user installs a version of python incompatible with the version used by beets? To avoid such incompatibilities (and other problems), the interpreter of binaries (and the load path) is hard-coded at built time. Also, if this is about plugins: adding GUIX_PYTHONPATH to beets' native-search-paths should work (the wrapper uses 'prefix', not '='). Greetings, Maxime.
