How to import a module as __main__?

python

Solution

The correct answer has been already given however it is confined in a comments (see How to import a module as __main__? and How to import a module as __main__?).

The same with proper formatting:

import runpy
runpy.run_module("your.module.name", {}, "__main__")

or

import runpy
runpy.run_path("path/to/my/file.py", {}, "__main__")

Problem

I have a module that has the usual ``` if __name__ == '__main__': do stuff... ``` idiom. I'd like to import that from another module, and fool it into running that code. Is there any way of doing this? I should mention, for reasons I won't go into here, I'm not in a position to change the code in the imported module. I need to somehow modify the import procedure so that it's name is main when imported, perhaps using ihooks or similar.

Original source