[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Down with PYTHONPATH!

From: Ricardo Wurmus
Subject: Re: Down with PYTHONPATH!
Date: Thu, 18 Jul 2019 10:20:18 +0200
User-agent: mu4e 1.2.0; emacs 26.2

Hi Hartmut,

> Für welche Fälle wird PYTHONPATH eigentlich gesetzt - sprich für welche
> Fälle brauchen wir eine Lösung?
>  1. guix environment --ad-hoc python: NEIN, da das environment
>     "komplett" ist

We set PYTHONPATH here, because the search path is attached to the
“python” package.  It is not needed here, but that’s how the search path
mechanism works in Guix.

>  2. guix package -i python: JA, python ein symlink in den store ist,
>     aber "site-packages" aus dem profile kommen sollen (PYTHONPATH wird
>     in "$GUIX_PROFILE/etc/profile" gesetzt

This is the same case as above.  In both cases a profile is generated
and PYTHONPATH is set since the “python” package contains a search path
definition for PYTHONPATH.

It is not set if only a Python module is installed without “python”
itself.  Installing, for example, only “python-numpy” without also
installing “python” won’t lead to a definition of PYTHONPATH.

>  3. python Anwendungen (z.B. pdfposter): JA, im Wrapper

Here we set PYTHONPATH in a wrapper script during a standard build phase
of the python-build-system.  (We can use wrap-script once core-updates
is merged to use a Guile wrapper in the very same file.)

So, there really are only two cases where we set PYTHONPATH: in profiles
due to the search-path property on “python” itself, and in wrapper

It is conceivable to have both cases happen at the same time: installing
a Python application (or a library that also includes an executable)
together with “python” into a profile would lead to having the
application wrapped in PYTHONPATH at build time and it would set
PYTHONPATH (e.g. by adding it to the profile’s etc/profile) because
“python” is installed.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]