要重新加载模块,请尝试使用库imp中的reload()
例:
from imp import reload
import some_lib
#do something
reload(some_lib)
此外,在新进程中启动每个测试是可行的,但多处理代码对于调试来说是一种痛苦.
例
import some_test
from multiprocessing import Manager, Process
#create new return value holder, in this case a list
manager = Manager()
return_value = manager.list()
#create new process
process = Process(target=some_test.some_function, args=(arg, return_value))
#execute process
process.start()
#finish and return process
process.join()
#you can now use your return value as if it were a normal list,
#as long as it was assigned in your subprocess