From: "Thompson, David" <dthompson2@worcester.edu>
To: Hartmut Goebel <h.goebel@crazy-compilers.com>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Language library packages should require language package
Date: Sun, 24 Apr 2016 09:09:33 -0400 [thread overview]
Message-ID: <CAJ=RwfZAZtn-cZZgTi=SsvCKoDvPBRefOdr3mgZVswSKYNoaxQ@mail.gmail.com> (raw)
In-Reply-To: <571CBB14.8090200@crazy-compilers.com>
On Sun, Apr 24, 2016 at 8:24 AM, Hartmut Goebel
<h.goebel@crazy-compilers.com> wrote:
> Hi,
>
> playing around with guix environment, I stepped over some weirdness The
> weirdest of is (e.g.):
>
> guix environment --ad-hoc python-requests
>
> will give you . . . . nothing.
That's not quite right. It will give you exactly what you asked for:
an environment with only python-requests used in it. python-requests
defines no search paths, so no environment variables are set.
> Since python-requests does not have python as input, the package is
> installed somewhere out of reach. This is even true when using a python
> virtualenv prior to entering the guix environment (see below for details).
>
> I assume, this is the same for perl and other languages.
>
> So I propose to add python, perl, ... as an import for the "library"
> packages of this language. This would be in the same line as .rpm and
> .deb packages work.
No, this wouldn't be a good idea. You used the --ad-hoc flag, which
means "create an environment with *only* the direct packages I
specified." This behavior is correct and will not be changed. If you
want an ad-hoc python environment, you should add a python package to
your environment:
guix environment --ad-hoc python python-requests
>
> Now the weirdness analysis:
>
> $ cat echo_paths.sh
> echo PATH=$PATH
> echo PYTHONPATH=$PYTHONPATH
> type python
>
> Now let's set up "--ad-hoc python-requests" (but no python):
>
> $ guix environment --pure --ad-hoc python-requests -- ./echo_paths.sh
> PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
> PYTHONPATH=
> python is /usr/bin/python
>
> Wow, the system python is used, but where is python-requests? Maybe not
> installed, since it already is in the system installation. Let's try a
> virtual environment:
>
> $ pyvenv /tmp/foo
> $ source /tmp/foo/bin/activate
> (foo)$ type python
> python ist /tmp/foo/bin/python
>
> (foo)$ guix environment --pure --ad-hoc python-requests -- ./echo_paths.sh
> PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
> PYTHONPATH=
> python is /usr/bin/python
>
> Huh? What? The virtual env was ignored (or dropped). Why this? Looks
> like --pure resets the environment to something is thinks is correct,
> even if if ist not adding anything to the environments.
>
> Let's try without --pure:
>
> (foo)$ guix environment --ad-hoc python-requests -- ./echo_paths.sh
> PATH=/tmp/foo/bin:/usr/local/bin:/usr/bin:/usr/local/games:/usr/games:/usr/lib64/qt4/bin:/usr/lib64/qt5/bin:/home/hartmut/bin:/home/hartmut/.local/bin
> PYTHONPATH=/home/hartmut/lib/python
> python is /tmp/foo/bin/python
>
> Okay, this time I get the python within the virtual env. But still:
> where is python-requests?
>
> (foo)$ guix environment --ad-hoc python-requests -- ls
> /tmp/foo/lib/python3.4/site-packages/
> easy_install.py pip pkg_resources.py setuptools
> _markerlib pip-6.1.1.dist-info __pycache__
> setuptools-3.6.dist-info
>
> It is not installed in the virtual environment either. Where is it?
>
> --
> Regards
> Hartmut Goebel
>
> | Hartmut Goebel | h.goebel@crazy-compilers.com |
> | www.crazy-compilers.com | compilers which you thought are impossible |
>
>
>
next prev parent reply other threads:[~2016-04-24 13:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-24 12:24 Language library packages should require language package Hartmut Goebel
2016-04-24 13:09 ` Thompson, David [this message]
2016-04-24 13:58 ` Hartmut Goebel
2016-04-24 22:07 ` Ludovic Courtès
2016-04-24 13:17 ` Thompson, David
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAJ=RwfZAZtn-cZZgTi=SsvCKoDvPBRefOdr3mgZVswSKYNoaxQ@mail.gmail.com' \
--to=dthompson2@worcester.edu \
--cc=guix-devel@gnu.org \
--cc=h.goebel@crazy-compilers.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.