import os
import sys
import tempfile
import importlib
# Create some module and import it
dir = tempfile.TemporaryDirectory()
os.mkdir(os.path.join(dir.name, 'test_package'))
with open(os.path.join(dir.name, '__init__.py'), "w") as f:
f.write("\n")
with open(os.path.join(dir.name, 'test_package', 'some_module.py'), "w") as f:
f.write("def a():\n print(\"old\")\n return 0\n")
sys.path.insert(0, dir.name)
from test_package import some_module
# Check that imported code works as expected
# Alter module and reload
with open(os.path.join(dir.name, 'test_package', 'some_module.py'), "w") as f:
f.write("def a():\n print(\"new\")\n return 1\n")
importlib.reload(some_module)
# Check wether modifications have been reloaded
sys.path.pop(0)
aW1wb3J0IG9zCmltcG9ydCBzeXMKaW1wb3J0IHRlbXBmaWxlCmltcG9ydCBpbXBvcnRsaWIKCgojIENyZWF0ZSBzb21lIG1vZHVsZSBhbmQgaW1wb3J0IGl0CmRpciA9IHRlbXBmaWxlLlRlbXBvcmFyeURpcmVjdG9yeSgpCm9zLm1rZGlyKG9zLnBhdGguam9pbihkaXIubmFtZSwgJ3Rlc3RfcGFja2FnZScpKQp3aXRoIG9wZW4ob3MucGF0aC5qb2luKGRpci5uYW1lLCAnX19pbml0X18ucHknKSwgInciKSBhcyBmOgogICAgZi53cml0ZSgiXG4iKQp3aXRoIG9wZW4ob3MucGF0aC5qb2luKGRpci5uYW1lLCAndGVzdF9wYWNrYWdlJywgJ3NvbWVfbW9kdWxlLnB5JyksICJ3IikgYXMgZjoKICAgIGYud3JpdGUoImRlZiBhKCk6XG4gICAgcHJpbnQoXCJvbGRcIilcbiAgICByZXR1cm4gMFxuIikKc3lzLnBhdGguaW5zZXJ0KDAsIGRpci5uYW1lKQoKZnJvbSB0ZXN0X3BhY2thZ2UgaW1wb3J0IHNvbWVfbW9kdWxlCgojIENoZWNrIHRoYXQgaW1wb3J0ZWQgY29kZSB3b3JrcyBhcyBleHBlY3RlZAphc3NlcnQgc29tZV9tb2R1bGUuYSgpID09IDAKCiMgQWx0ZXIgbW9kdWxlIGFuZCByZWxvYWQKd2l0aCBvcGVuKG9zLnBhdGguam9pbihkaXIubmFtZSwgJ3Rlc3RfcGFja2FnZScsICdzb21lX21vZHVsZS5weScpLCAidyIpIGFzIGY6CiAgICBmLndyaXRlKCJkZWYgYSgpOlxuICAgIHByaW50KFwibmV3XCIpXG4gICAgcmV0dXJuIDFcbiIpCgppbXBvcnRsaWIucmVsb2FkKHNvbWVfbW9kdWxlKQoKIyBDaGVjayB3ZXRoZXIgbW9kaWZpY2F0aW9ucyBoYXZlIGJlZW4gcmVsb2FkZWQKYXNzZXJ0IHNvbWVfbW9kdWxlLmEoKSA9PSAxCgpzeXMucGF0aC5wb3AoMCk=