<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 21 March 2018 at 10:01, Chris Billington <span dir="ltr"><<a href="mailto:chrisjbillington@gmail.com" target="_blank">chrisjbillington@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote"><span class="gmail-">On Wed, Mar 21, 2018 at 10:58 AM, Chris Billington <span dir="ltr"><<a href="mailto:chrisjbillington@gmail.com" target="_blank">chrisjbillington@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I don't think that's true:<div><br></div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote"><span>On Wed, Mar 21, 2018 at 10:51 AM, Greg Ewing <span dir="ltr"><<a href="mailto:greg.ewing@canterbury.ac.nz" target="_blank">greg.ewing@canterbury.ac.nz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-m_3100911244947283607m_-4701767231295006183m_7230806844462855134gmail-">Chris Billington wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
I wonder how mercurial gets around the fact that its own imports might be shadowed by whatever's in the current working directory.<br>
</blockquote>
<br></span>
The cwd is only added to sys.path in the interactive interpreter,<br>
not when you run "python something.py". So it's not usually a<br>
problem for applications implemented in Python.<span class="gmail-m_3100911244947283607m_-4701767231295006183m_7230806844462855134gmail-HOEnZb"><font color="#888888"><br>
<br></font></span></blockquote><div><br></div></span><div>I don't think that's true:</div><div><br></div><div>$ cd /tmp</div><div>$ echo 'import bar' > foo.py</div><div>$ echo 'print("this is bar")' > bar.py</div><div>$ python foo.py <br></div><div>this is bar </div><div><br></div><div>(<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">/tmp is not in the python path</span>)</div><span class="gmail-m_3100911244947283607m_-4701767231295006183HOEnZb"><font color="#888888"><div><br></div></font></span></div></div></div></blockquote><div><br></div></span><div>Actually I'm mistaken. That's the directory of the script being added to the path, not the current working directory.</div></div></div></div></blockquote><div><br></div><div>Scripts add the directory of the script, but the "-m" switch adds the current directory in order to locate modules and packages it can find there (although it's possible we'll attempt to figure out a way to change that in the future and require folks to explicitly opt-in to cwd relative main module imports: <a href="https://bugs.python.org/issue33053">https://bugs.python.org/issue33053</a>). <br><br></div><div>Cheers,<br></div><div>Nick.<br></div></div><br>-- <br><div class="gmail_signature">Nick Coghlan   |   <a href="mailto:ncoghlan@gmail.com" target="_blank">ncoghlan@gmail.com</a>   |   Brisbane, Australia</div>
</div></div>