Hartmut Goebel <h.goe...@crazy-compilers.com> writes: > Hi,
Hello! > > let's pick up on this issue and systematically design the test-cases to > benchmark the proposed solutions. I already prepared a test-script to > simplify this and will provide a full description as later. > > **Please comment if any relevant case is missing or if any case can be > skipped** > > 1) Test-cases > > For all environments (see below) these cases must give the expected > output - which is defined by what a "foreign distribution's" python > would do: > - "installed" python > - venv with and without --system-site-packages > - stacked venv with and without --system-site-packages We should consider both python2 and python3, and virtual environments created by the 'virtualenv' package. > > 2) Environments to be tested. > > The proposed solution must pass the test-suite in all of these environments: > > 2.1 guix environment: > > guix environment --ad-hoc python -- python3 testit > --> Expected outcome: site-packages from GUIX_ENVIRONEMENT > > 2.2 guix environment with container: > > guix environment -C --ad-hoc python -- python3 testit > --> Expected outcome: site-packages from GUIX_ENVIRONEMENT > > 2.3 Installed package *without setting the environment variables!* > > guix package -i python && ~/.guix-profile/bin/python3 testit > --> Expected outcome: site-packages from ~/.guix-profile/ > --> Shall this work, too? Is it nice-to-have or useless? Yeah, it's nice to have (to avoid introducing an environment variable), but not necessary. > > 2.4 running from /gnu/store (directly) > > $(readlink -f ~/.guix-profile/bin/python3) testit > --> Expected outcome: site-packages from /gnu/store > --> What is the expected outcome? What is the expected I think if we use environment variable to specify all the site-packages, it should be the same as running from profile. It maybe different if we resolve site-packages by the executable location... > > 2.5 running from /gnu/store (via link) > > ln -s $(readlink -f ~/.guix-profile/bin/python3) > /tmp/test-guix-pythonA.exe ; > /tmp/test-guix-pythonA.exe testit > --> Expected outcome: site-packages from /gnu/store True when we're not use the environment variable. > > 2.6 Installed in GuixSD > > --> Do we need to test this? Or is this already covered by one of > the other cases? For this, there is nothing special about GuixSD. Had you review my 'GUIX_PYTHON_X_Y_SITE_PACKAGES' patch? I think it's enough to support both python2 and python3 in the same profile: http://lists.gnu.org/archive/html/guix-devel/2018-03/msg00238.html Thanks!