Trouble with running java using Popen

Chris Rebert clp2 at rebertia.com
Tue Jun 23 18:13:14 EDT 2009


On Tue, Jun 23, 2009 at 2:29 PM, Edward Grefenstette<egrefen at gmail.com> wrote:
> I have a java prog I need to run at some point during the execution of
> a python module.
>
> The path to the folder containing the all the relevant java stuff
> (which runs fine from the command line) is stored in pkgpath. The
> relevant code is this:
>
>>>> os.chdir(pkgpath)
>>>> arglist = "java -Xmx1024m SemanticVectorsEvaluator ." + indexpath
>>>> SemVectPackage = Popen(arglist, stdout=PIPE, shell=True)
>>>> SemVectPackage.wait()
>
> Here indexpath is the path to a particular index file (usually
> indexpath = "./indexfolder/fileindex"), so that effectively Popen
> should be running the equivalent of the shell command:
> -
> java -Xmx1024m SemanticVectorsEvaluator ../indexfolder/fileindex
> -
> which, again, runs fine in the terminal.
>
> However running the program returns the following error (echoed from
> shell, doesn't interrupt prog):
> -
> Exception in thread "main" java.lang.NoClassDefFoundError:
> SemanticVectorsEvaluator
> -
>
> I have no idea why this isn't working. Anyone have any suggestions as
> to how I might troubleshoot this?

Have you tried?:

arglist = ["java", "-Xmx1024m", "SemanticVectorsEvaluator", "." + indexpath]
SemVectPackage = Popen(arglist, stdout=PIPE)
SemVectPackage.wait()

Cheers,
Chris
-- 
http://blog.rebertia.com



More information about the Python-list mailing list