Nick Coghlan <[email protected]> writes:
> This is also the reason why using the version number in the filename
> isn't adequate - the magic number can change due to more than just the
> Python version changing. Also, if we don't change the bytecode for a
> given release, then multiple versions can use the same magic number.
>
> Hiding these away in an appropriately named subfolder is the nicest
> way to handle it without cluttering the source code directory.
Thanks for the explanation. I eagerly await further information to the
contrary, but you've shown that it is at least likely to be better to
hide these files inside a subdirectory.
If a subdirectory is indeed the better solution, can we please ensure
that only *one* such subdirectory is created for the whole tree of
packages, instead of a new subdirectory per module?
In other words, my understanding is that the current PEP would have the
following tree for an example project::
foo/
__init__.py
__init__.pyr/
deadbeef.pyc
decafbad.pyc
lorem.py
lorem.pyr/
deadbeef.pyc
decafbad.pyc
ipsum/
__init__.py
__init__.pyr/
deadbeef.pyc
decafbad.pyc
dolor.py
dolor.pyr/
deadbeef.pyc
decafbad.pyc
sit.py
sit.pyr/
deadbeef.pyc
decafbad.pyc
amet/
__init__.py
__init__.pyr/
deadbeef.pyc
decafbad.pyc
malor.py
malor.pyr/
deadbeef.pyc
decafbad.pyc
wobble.py
wobble.pyr/
deadbeef.pyc
decafbad.pyc
bar/
__init__.py
__init__.pyr/
deadbeef.pyc
decafbad.pyc
wibble.py
wibble.pyr/
deadbeef.pyc
decafbad.pyc
warble/
__init__.py
__init__.pyr/
deadbeef.pyc
decafbad.pyc
wubble.py
wubble.pyr/
deadbeef.pyc
decafbad.pyc
wobble.py
wobble.pyr/
deadbeef.pyc
decafbad.pyc
That's a nightmarish mess of compiled files swamping the source files,
as has been pointed out several times.
Could we instead have a single subdirectory for each tree of module
packages, keeping them tidily out of the way of the source files, while
making them located just as deterministically::
foo/
.pyr/
__init__/
deadbeef.pyc
decafbad.pyc
lorem/
deadbeef.pyc
decafbad.pyc
ipsum/
__init__/
deadbeef.pyc
decafbad.pyc
dolor/
deadbeef.pyc
decafbad.pyc
sit/
deadbeef.pyc
decafbad.pyc
amet/
__init__/
deadbeef.pyc
decafbad.pyc
spam/
deadbeef.pyc
decafbad.pyc
malor/
deadbeef.pyc
decafbad.pyc
wobble/
deadbeef.pyc
decafbad.pyc
__init__.py
lorem.py
ipsum/
__init__.py
dolor.py
sit.py
amet/
__init__.py
spam.py
malor.py
wobble.py
bar/
.pyr/
__init__/
deadbeef.pyc
decafbad.pyc
wibble/
deadbeef.pyc
decafbad.pyc
warble/
__init__/
deadbeef.pyc
decafbad.pyc
wubble/
deadbeef.pyc
decafbad.pyc
wobble/
deadbeef.pyc
decafbad.pyc
__init__.py
wibble.py
warble/
__init__.py
wubble.py
wobble.py
--
\ “It is seldom that liberty of any kind is lost all at once.” |
`\ —David Hume |
_o__) |
Ben Finney
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com