[Python-Dev] disable writing .py[co]

Skip Montanaro skip@pobox.com
2003年1月21日 06:56:56 -0600


Here's a slightly different alternative. (It woke me up this morning, so I
know it's a good idea. ;-)
Instead of an environment variable which functions simply as an on/off
switch, add an environment variable named PYCROOT which can be used to
control writing of .pyc files as follows:
 * if not present, status quo
 * if present and refers to an existing directory, prepend PYCROOT to any
 attempts to read or write .pyc files.
 * if present and refers to a non-existent or non-directory file, disable
 writing .pyc files altogether.
All that happens is that when you go to read or write a .pyc file is that
you prepend PYCROOT to the full path to the .py source file in addition to
adding a 'c' to the end.
Pros:
 * it allows people to run with .py files on read-only filesystems but
 still gain the benefits of using .pyc files
 * on systems with ram-based file systems (such as /tmp on Solaris), you
 can gain a performance boost.
 * it's easy to suppress writing .pyc files altogether.
Cons:
 * it's not obvious (to me) what the semantics should be on multi-root
 systems like Windows (I can see a couple alternatives).
 * slightly more complexity added to import.
Skip

AltStyle によって変換されたページ (->オリジナル) /