Re: PYTHONPATH - let's systematically tame the baest
Hi Hartmut, > 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. Thank you for picking up the work on this! In all of the tests do we only care about the reported value of site-packages? Should the tests include loading non-trivial packages that have other Python packages as dependencies? > 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? 2.3b is to install the package into a separate profile with guix package -p /path/to/somewhere -i python > 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 > > 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 I think these two cases should yield the same result. > 2.6 Installed in GuixSD > > --> Do we need to test this? Or is this already covered by one of > the other cases? I don’t think we need to test this as GuixSD does not have any special behaviour for Python and the system profile is just another profile. This would be the same as 2.3b. -- Ricardo
Re: PYTHONPATH - let's systematically tame the baest
Am 17.04.2018 um 03:47 schrieb 宋文武: > 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: Yes I had. But we should first decide on he expected results, then decide which solution is adequate :-) -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
Re: PYTHONPATH - let's systematically tame the baest
Hartmut Goebel 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!
PYTHONPATH - let's systematically tame the baest
Hi, 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 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? 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 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 2.6 Installed in GuixSD --> Do we need to test this? Or is this already covered by one of the other cases? -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |