[Distutils] Dynamic linking between Python modules (was: Beyond wheels 1.0: helping downstream, FHS and more)
chris.barker at noaa.gov
Sat May 16 07:45:33 CEST 2015
On Fri, May 15, 2015 at 1:44 PM, Paul Moore <p.f.moore at gmail.com> wrote:
> > Is there any point? or is the current approach of statically linking all
> > third party libs the way to go?
> If someone can make it work, that would be good. But (a) nobody is
> actually offering to develop and maintain such a solution,
well, it's on my list -- but it has been for a while, so I'm trying to
gauge whether it's worth putting at the top of my "things to do for python"
list. It's not at the top now ;-)
> and (b)
> it's not particularly clear how *much* of a benefit there would be
> (space savings aren't that important, ease of upgrade is fine as long
> as everything can be upgraded at once, etc...)
hmm -- that may be a trick, though not a uncommon one in python package
dependencies -- it maybe hard to have more than one version of a given lib
> If so, then is there any chance of getting folks to conform to this
> > for PyPi hosted binary packages anyway? i.e. the curation problem.
> If it exists, and if there's a benefit, people will use it.
OK -- that's encouraging...
> > Personally, I'm on the fence here -- I really want newbies to be able to
> > simply "pip install" as many packages as possible and get a good result
> > they do it.
> Static linking gives that on Windows FWIW. (And maybe also on OSX?)
> This is a key point, though - the goal shouldn't be "use dynamic
> linking" but rather "make the user experience as easy as possible". It
> may even be that the best approach (dynamic or static) differs
> depending on platform.
true -- though we also have another problem -- that static linking solution
is actually a big pain for package maintainers -- building and linking the
dependencies the right way is a pain -- and now everyone that uses a given
lib has to figure out how to do it. Giving folks a dynamic lib they can use
would mie it easier for tehm to build their packages -- a nice benifit
Though it's a lot harder to provide a build environment than just the lib
to link too .. I"m going to have to think more about that...
> > On the other hand, I've found that conda better supports this right now,
> > it's easier for me to simply use that for my tools.
> And that's an entirely reasonable position. The only "problem" (if
> indeed it is a problem) is that by having two different solutions
> (pip/wheel and conda) splits the developer resource, which means that
> neither approach moves forward as fast as a combined approach does.
That's not the only problem -- the current split between the (more than
one) scientifc python distributions, and the community of folks using
python.org and pypi creates a bit of a mess for newbies.
I'm reviving this conversation because i just spent a class lecture in a
python class on numpy/scipy -- these students have been using a python
install for months, using virtualenv, ip installing whatever they need, et.
and now, to use another lib, they have to go through machination, maybe
even installing a entire additional python. This is not good. And I've had
to help more than one student untangle a mess of Apple Python python.org
python, homebrew, and/or Anaconda -- for someone that doesn't really get
python pacakging, never mond PATHS, and .bashrc vs .bash_profile, etc, it's
an unholy mess.
"There should be one-- and preferably only one --obvious way to do it." --
But that's OK if the two solutions are addressing different needs
The needs aren't really that different, however. Oh well.
Anyway, it seems like if I can find some time to prototype what I have in
mind, there may be some room to make it official if it works out. If anyone
else want to help -- let me know!
Christopher Barker, Ph.D.
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker at noaa.gov
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Distutils-SIG