<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=IS link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>Hello there.<o:p></o:p></p>

<p class=MsoNormal>We have a large project involving multiple perforce branches
of hundreds of .py files each.<o:p></o:p></p>

<p class=MsoNormal>Although we employ our own import mechanism for the bulk of
these files, we do use the regular import mechanism for an essential core of
them.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Repeatedly we run into trouble because of stray .pyo (and/or
.pyc) files.  This can happen for a variety of reasons, but most often it
occurs when .py files are being removed, or moved in the hierarchy.  The
problem is that the application will happily load and import an orphaned .pyo
file, even though the .py file has gone or moved.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>I looked at the import code and I found that it is trivial
to block the reading and writing of .pyo files.  I am about to implement that
patch for our purposes, thus forcing recompilation of the .py files on each run
if so specified.   This will ensure that the application will execute only the
code represented by the checked-out .py files.  But it occurred to me that this
functionality might be of interest to other people than just us.  I can
imagine, for example, that buildbots running the python regression testsuite
might be running into problems with stray .pyo files from time to time.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Do you think that such a command line option would be useful
for Python at large?<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Cheers,<o:p></o:p></p>

<p class=MsoNormal>Kristján<o:p></o:p></p>

</div>

</body>

</html>