[OE-core] [RFC PATCH] package.bbclass: omit .pyc and .pyo file

Mike Looijmans mike.looijmans at topic.nl
Wed Jan 7 09:23:14 UTC 2015


On 01/07/2015 09:07 AM, Richard Purdie wrote:
> On Tue, 2015-01-06 at 17:07 -0800, Robert Yang wrote:
>> We should not ship .pyc or .pyo file, but there are a few packages
>> ship .pyc, should we:
>
> Why should we not ship them? Doesn't python create these at runtime if
> they're not present? What happens on a read only filesystem?

You definitely SHOULD ship the .pyc files. If they don't exist, the 
interpreter is forced to re-compile the .py source, and will attempt to write 
the result to the filesystem. It won't cause harm, it won't fail, but it's 
very inefficient. It's better to let the host do the py->pyc conversion anyway.

The opposite works just fine: You can omit the .py files and ship only .pyc 
files. We do that on settopboxes that use Python for the GUI, this saves 
several megabytes of flash space.
To accomplish that, we put the .py files into a $PN-src package.

There has been general agreement that .pyo files are utterly pointless.

> I'm sure we've had issues raised by someone with a read only filesystem
> before FWIW.
>
> I agree there is probably an issue here but deleting them may not be the
> best option. I'm open to ideas though.

My idea would be to standardize on shipping ONLY compiled files, and put the 
source .py files into a separate package named $PN-src by default. There is no 
need to install megabytes of python source files that neither users nor the 
interpreter will ever read.



Met vriendelijke groet / kind regards,

Mike Looijmans
System Expert


TOPIC Embedded Systems
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: (+31) (0) 499 33 69 79
Telefax:  (+31) (0) 499 33 69 70
E-mail: mike.looijmans at topic.nl
Website: www.topic.nl

Please consider the environment before printing this e-mail

Topic zoekt gedreven (embedded) software specialisten!
http://topic.nl/vacatures/topic-zoekt-software-engineers/




More information about the Openembedded-core mailing list