[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PYTHONPATH - let's systematically tame the baest
From: |
宋文武 |
Subject: |
Re: PYTHONPATH - let's systematically tame the baest |
Date: |
Tue, 17 Apr 2018 09:47:12 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Hartmut Goebel <address@hidden> 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!