[Python-ideas] size of the installation of Python on mobile devices

M.-A. Lemburg mal at egenix.com
Fri Jul 29 07:44:13 EDT 2016

On 29.07.2016 11:51, Xavier de Gaye wrote:
> On 07/28/2016 08:07 PM, M.-A. Lemburg wrote:
>> Sourceless distributions are not discouraged. They are essential
>> for commercial use cases and I would strongly oppose removing
>> the possibility to ship byte code only applications.
>> Why do you think that this doesn't work anymore ?
> This refers to this message [1] from the discussion in issue 26852.
> I would not think that sourceless distributions are discouraged if I
> am submitting a patch that adds an option to build a sourceless
> distribution, there are better ways to waste time :)

As I read it, David was referring to sourceless distribution of
the Python stdlib itself. That's a different use case than the one
I meant, which focuses on shipping application code without source

> The drawbacks of sourceless distributions:
> * Quote from PEP 3147 "In practice, it is well known that pyc files
>   are not compatible across Python major releases. A reading of
>   import.c [3] in the Python source code proves that within recent
>   memory, every new CPython major release has bumped the pyc magic
>   number.".

This argument is only valid if you are distributing application
code without also shipping a Python interpreter to go with it.

> * The test suite cannot be run on a sourceless distribution as many
>   tests use the linecache module.

That's true, but in production, you are typically not interested
in the test suite anyway.

The same is true for the ensurepip package, since this comes with
wheel files living inside the package directory structure.

BTW: For distutils compilation, you also need the include files,
but again, depending on your use case, you may not be interested
in supporting this.

> It would be useful to know the other reasons why a sourceless
> distribution is discouraged, so we might fix them. And if they cannot be
> fixed then issue 26852 can be closed.
> [1] http://bugs.python.org/issue26852#msg271535

There are certainly a lot of use cases for wanting to have
a Python distribution which is small, but in most cases,
you need to do more than just remove the .py files to address
these, so I'm not sure whether we need an option in configure
for this.

Marc-Andre Lemburg

Professional Python Services directly from the Experts (#1, Jul 29 2016)
>>> Python Projects, Coaching and Consulting ...  http://www.egenix.com/
>>> Python Database Interfaces ...           http://products.egenix.com/
>>> Plone/Zope Database Interfaces ...           http://zope.egenix.com/

::: We implement business ideas - efficiently in both time and costs :::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611

More information about the Python-ideas mailing list