[Python-Dev] __file__

Guido van Rossum guido at python.org
Fri Feb 26 23:29:03 CET 2010


On Fri, Feb 26, 2010 at 2:09 PM, Brett Cannon <brett at python.org> wrote:
> And personally, I don't see what bytecode-only modules buy you. The
> obfuscation argument is bunk as we all know. Bytecode contains so much data
> that disassembling it gives you a very clear picture of what the original
> code was like. I think it's almost a dis-service to support bytecode-only
> files as it leads people who are misinformed or simply don't take the time
> to understand what is contained in a .pyc file into a false sense of
> security about their code not being easy to examine by someone else.

Byte-code only wasn't always supported. We added it knowing full well
it had all those problems (plus, it locks in the Python version),
simply because a certain class of developers won't stop asking for it.
Their users are apparently too dumb to decode bytecode but smart
enough to read source code, even if they don't understand it, and this
knowledge could hurt them. Presumably users smart enough to decode
bytecode will know enough not to hurt themselves.

Maybe Greg's and my response to the mention of dropping this feature
is too strong -- after all we're both dinosaurs. And maybe the
developers who want the feature can write their own loader. But given
that this feature takes an entirely different path through import.c
anyway, I still don't see how dropping it is necessary in order to
implement the PEP. If you have separate motivation to drop the
feature, you should deprecate it properly.

-- 
--Guido van Rossum (python.org/~guido)


More information about the Python-Dev mailing list