On Wed, Jun 24, 2020 at 1:36 AM Thomas Kluyver <tho...@kluyver.me.uk> wrote:
>
> On Tue, 23 Jun 2020, at 23:51, David Mathog wrote:
> > What I am after is some method of keeping exactly one copy of each
> > package-version in the common area (ie, one might find foo-1.2,
> > foo-1.7, and foo-2.3 there), while also presenting only the one
> > version of each (let's say foo-1.7) to a particular installed program.
> Conda environments work somewhat like this - all the packages are stored in a 
> central place, and the structure of selected ones is replicated using 
> hardlinks in a site-packages directory belonging to the environment. So if 
> your concern is not to waste disk space by storing copies of the same 
> packages, that might be an option.

I experimented with that one a little. It installs its own copies of
python and things like openssl and openblas which are already present
from the linux distribution.  Similarly, if some python script needs
"bwa" it will install its own even though that program is already
available.  Basically it is yet another "replicate everything we might
need whether or not it is already present" type of solution. (The
extreme end of that spectrum are systems like docker, which
effectively replaces the entire OS.)  So there might be only the one
version of each python package (not counting duplicates with the OS's
python3) but now there are also duplicate copies of system libraries
and utilities.

I think I will experiment a little with pipenv and if necessary after
each package install use a script to remove the installed libraries
and replace them with a hard link to the one in the common area.
Maybe it will be possible to put in those links before installing the
package of interest (like for scanpy, see first post), which will
hopefully keep it from having to rebuild all those packages too.

Thanks,

David Mathog
--
Distutils-SIG mailing list -- distutils-sig@python.org
To unsubscribe send an email to distutils-sig-le...@python.org
https://mail.python.org/mailman3/lists/distutils-sig.python.org/
Message archived at 
https://mail.python.org/archives/list/distutils-sig@python.org/message/QBIRYI767AVZ2FCFHVTP56XIKOX4TTYQ/

Reply via email to