On 21 March 2018 at 10:01, Chris Billington <chrisjbilling...@gmail.com>
wrote:

>
>
> On Wed, Mar 21, 2018 at 10:58 AM, Chris Billington <
> chrisjbilling...@gmail.com> wrote:
>
>> I don't think that's true:
>>
>>
>>
>> On Wed, Mar 21, 2018 at 10:51 AM, Greg Ewing <greg.ew...@canterbury.ac.nz
>> > wrote:
>>
>>> Chris Billington wrote:
>>>
>>>> I wonder how mercurial gets around the fact that its own imports might
>>>> be shadowed by whatever's in the current working directory.
>>>>
>>>
>>> The cwd is only added to sys.path in the interactive interpreter,
>>> not when you run "python something.py". So it's not usually a
>>> problem for applications implemented in Python.
>>>
>>>
>> I don't think that's true:
>>
>> $ cd /tmp
>> $ echo 'import bar' > foo.py
>> $ echo 'print("this is bar")' > bar.py
>> $ python foo.py
>> this is bar
>>
>> (/tmp is not in the python path)
>>
>>
> Actually I'm mistaken. That's the directory of the script being added to
> the path, not the current working directory.
>

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: https://bugs.python.org/issue33053).

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to