Experimental Python interpreter snap

Stuart Bishop stuart.bishop at canonical.com
Thu Feb 23 11:34:02 UTC 2017


On 23 February 2017 at 14:45, James Henstridge
<james.henstridge at canonical.com> wrote:

> So if I installed a package to $SNAP_USER_DATA for my
> "python36-jamesh.python3" interpreter, the files would end up
> somewhere under ~/snap/python36-jamesh/.
>
> If we then look at my simple hello-world example snap that uses the
> content interface to access the interpreter, $SNAP_USER_DATA now
> points to a location under ~/snap/hello-world/.  So it wouldn't see
> the additional packages installed for "python36-jamesh.python3".  In
> fact, the hello-world snap doesn't even have permission to read files
> under ~/snap/python36-jamesh, even if I put that directory on
> sys.path.

Yes, exactly. If I use the python36-jamesh.python3 interpreter from my
main shell, I can pip install libraries into $SNAP_USER_DATA and use
them. They will not be seen or cause conflicts if I use the
/usr/bin/python3, which is what I'm suggesting is an improvement. And
they will not be seen by or cause conflicts with snaps using the
content interface, no matter if they are confined or classic, which is
also a good thing because they will be embedding their dependencies.

-- 
Stuart Bishop <stuart.bishop at canonical.com>




More information about the Snapcraft mailing list