From 46b8f96712f0cd5c2c26abedfdf44eebac6fe89c Mon Sep 17 00:00:00 2001 From: Qwlouse Date: Fri, 1 Apr 2016 23:04:34 +0200 Subject: [PATCH] improved error-message when using @ex.automain in interactive mode --- sacred/experiment.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sacred/experiment.py b/sacred/experiment.py index 974f1ed1..4a8e480f 100644 --- a/sacred/experiment.py +++ b/sacred/experiment.py @@ -85,6 +85,15 @@ def my_main(): """ captured = self.main(function) if function.__module__ == '__main__': + # Ensure that automain is not used in interactive mode. + import inspect + main_filename = inspect.getfile(function) + if (main_filename == '' or + (main_filename.startswith(''))): + raise RuntimeError('Cannot use @ex.automain decorator in ' + 'interactive mode. Use @ex.main instead.') + self.run_commandline() return captured