This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author Julian
Recipients Julian
Date 2019-08-24.17:59:14
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1566669555.03.0.62423685183.issue37941@roundup.psfhosted.org>
In-reply-to
Content
This seems brutally simple, to the point where I'm concerned I'm missing something (or have seen this issue filed elsewhere but can't find it), but `python -m` and `runpy.run_module` don't set the same __name__ -- specifically `runpy.run_module`, when given a non-package, defaults to setting __name__ to `mod_name`.

So, given package/foo.py, with the "common"

`if __name__ == "__main__":` check at the bottom, `python -m package.foo` successfully executes, but `runpy.run_module("package.foo")` exits silently, unless explicitly passed `runpy.run_module("package.foo", run_name="__main__").

[n.b. pep517.{build,check} is a specific example of such a module that advertises itself as wanting to be executed via `python -m`]

issue16737 seems related but not exactly the same from what I can tell.
History
Date User Action Args
2019-08-24 17:59:15Juliansetrecipients: + Julian
2019-08-24 17:59:15Juliansetmessageid: <1566669555.03.0.62423685183.issue37941@roundup.psfhosted.org>
2019-08-24 17:59:15Julianlinkissue37941 messages
2019-08-24 17:59:14Juliancreate