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.