From: Kevin B. <kb...@ca...> - 2002-03-05 23:42:56
|
Mark Ackerman wrote: > > We're downloading jython modules from a server as the user requests them. > Since the modules can live in different directories on the server > we would like to keep the same directory structure on the client. > > So the plotTest.py file get downloaded to the pythonCache/a/b/scripts > directory off of the current directory. > > I've tried the following code snippet to import the module but I can't > quite get it to work: > > try: > sys.path.index("pythonCache/a/b/scripts") > except: > sys.path.append("pythonCache/a/b/scripts") > import pythonCache.a.b.plotTest > pythonCache.a.b.plotTest.printHello() sys.path shows where to look for Python packages (like the java classpath shows where to look for Java packages). Thus, jython looks in the scripts directory for a pythonCache package containing an 'a' package containing a 'b' package containing a 'plotTest' package, and doesn't find it. Thus, I think you meant: cachedir = "pythonCache/a/b/scripts" if cachedir not in sys.path: sys.path.append( cachedir ) import plotTest plotTest.printHello() Note, however, that the requirements to be a Python package are different from the requirements to be a Java package: a Python package is a .py file or a directory containing an __init__.py file a Java package is any directory containing a Java class or containing a Java package kb |