Stack Overflow is a community of 4.7 million programmers, just like you, helping each other.

Join them; it only takes a minute:

Sign up
Join the Stack Overflow community to:
  1. Ask programming questions
  2. Answer and help your peers
  3. Get recognized for your expertise

I am trying to execute a python file from netbeans using jython in a java program. My code is like this:

PythonInterpreter.initialize(System.getProperties(), System.getProperties(), 
                             new String[0]);
PythonInterpreter interp = new PythonInterpreter();
interp.execfile("as1.py");

error is:

Traceback (most recent call last):
  File "as1.py", line 2, in <module>
    import datetime
ImportError: No module named datetime

and also interdependent python files also not importing those are in same directory.

like:

PythonInterpreter.initialize(System.getProperties(), System.getProperties(), new String[0]);
PythonInterpreter interp = new PythonInterpreter();
interp.execfile("calen.py");

python files are:

calen.py:

from as1 import * 
print ( "I am printing" + str(Moh(1000).run()))

as1.py:

from time import time
import datetime
class Moh:
    def __init__(self, n):  
        self.n = n

    def run(self):
        data = [1,2,3,4,5]
        start = time()
        for i in range(self.n):
            data.append(i)
        end = time()
        return ( end - start )/self.n

if __name__ == "__main__":
    print ( "I am printing" + str(Moh(1000).run()))

error is:

Traceback (most recent call last):
  File "calen.py", line 1, in <module>
    from as1 import * 
ImportError: No module named as1
share|improve this question
    
what version of jython are you using? – user3012759 Aug 20 '14 at 14:38
    
Thanks for asking - Jyhton version 2.5.3 – mohan Aug 21 '14 at 12:53
    
Hope this link:[stackoverflow.com/a/483165/1982677] helps. – kvivek Aug 23 '14 at 9:36

It is essential to set "python.path" for the PythonInterpreter so that it can load your the as1 module. To do that, you have to initialize PythonInterpreter in this way:

Properties properties = System.getProperties();
properties.put("python.path", PATH_TO_PARENT_DIRECTORY_OF_AS1_PY);
PythonInterpreter.initialize(System.getProperties(), properties, new String[0]);
PythonInterpreter interp = new PythonInterpreter();
interp.execfile("calen.py");
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.