Python extraneous dependencies

Steven Penny svnpenn@gmail.com
Tue Mar 26 23:09:00 GMT 2019


On Tue, 26 Mar 2019 14:58:12, Yaakov Selkowitz wrote:
> Nak.  ctypes is part of the Python standard library and therefore the
> dependency needs to be on the main package(s).
> 
> BTW, binutils is usually included by default in all but the most
> minimal base installs, so I'm not quite sure why you object so much to
> this requirement.

Using Python 3.6 I noticed that a:

    print('hello world')

will actually work with only the Base packages and the "python36" package, and
none of the current "python36" dependencies installed. Obviously this comes with
some caveats as you have pointed out. But my counter is this:

- Current "python36" package is 5,746,648 bytes
- "binutils" 2.29 package is 5,863,216 bytes

So by choosing to have "binutils" as a dependency we are literally doubling the
size of Cygwin Python install. To me this is not trivial. I know with Git it
used to "require" Python but not really - it was only some ancillary scripts
that were eventually broken out into their own package so that the Python
requirement could be removed from Cygwin Git.

To contrast however the Perl dependency remained with Cygwin Git as currently
its too ingrained to be removed. What Im saying is that while you are
technically correct that "binutils" is a requirement for current Cygwin Python,
it doesnt have to be that way. We could move the Python elements that require
binutils into their own package, or we could create a "python_base" similar to
"perl_base".

I think if we just say "something somewhere in the bowels of Python needs it, so
it must be a hard dependency", even if that thing is rarely used by anyone, we
are doing a disservice to the Cygwin community. However that may not be the case
and perhaps "ctypes" is used much more than I am aware of.

Thanks


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list