Hello org-users, Today I was bitten by a weird behavior when executing some python blocks with org-babel that really confused me, but after some trying and error I was able to isolate the problem.
When a block has an import statement such as ,---- | from some_module import * `---- it works with :results output, but not with :results value. The content of simple file to reproduce the problem is showed below --------------- Cut here ----------------------------------- * Test Org-babel #+begin_src python :tangle test :results silent def double_input(a): return a*2 #+end_src #+begin_src python :results value import test def times_four(a): return test.double_input(a)*2 if __name__ == '__main__': print "Value is %s" % times_four(10) times_four(10) #+end_src #+begin_src python :results value from test import * def times_four(a): return double_input(a)*2 if __name__ == '__main__': print "Value is %s" % times_four(10) times_four(10) #+end_src --------------- End of cut --------------------------------- To reproduce the problem, tangle the file to create test.py from the first block. Then executing the second block (which has no import *) works with either :results output or :results value. However, the third block, (which uses import *) only works if executed with :results output. I can't see the reason for this since the code is right and works in a python buffer as expected. - Darlan _______________________________________________ Emacs-orgmode mailing list Remember: use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode