import java ImportError:没有名为java的模块

时间:2014-02-06 19:32:07

标签: java python unix jython

我似乎遇到了障碍,根本无法解决这个问题,任何人都可以帮我弄清楚为什么我无法导入java模块吗?

错误:

Traceback (most recent call last):
  File "./datasource_config.py", line 3, in ?
    import java
ImportError: No module named java

的java:

13:30:05 # which java
/usr/bin/java

脚本开头

#!/usr/bin/python
import sys
import java
from java.util import Properties
from java.io import FileInputStream
from org.python.modules import time
lineSep = java.lang.System.getProperty('line.separator')

def datasource(cluster,user,password,url,env,jdbc_driver,timeOut,maxConn,minConn,reapTime,unusdTimeout,agedTimeout):

    #Declare global variables 
    global    AdminConfig 
    global    AdminControl

有人可以帮我确定这意味着什么吗?

13:45:07 # ./jython -v /opt/websphere/datasource_config.py
*sys-package-mgr*: can't create package cache dir, '/usr/lib/jython-25/cachedir/packages'
import: 'exceptions' as org.python.core.exceptions in builtin modules
import: 'site' as /usr/lib/jython-25/Lib/site.py
import: 'sys' as sys in builtin modules
import: 'os' as /usr/lib/jython-25/Lib/os.py
import: 'errno' as org.python.modules.errno in builtin modules
import: 'posix' as org.python.modules.posix.PosixModule in builtin modules
import: 'posixpath' as /usr/lib/jython-25/Lib/posixpath.py
import: 'stat' as /usr/lib/jython-25/Lib/stat.py
import: 'Properties' as java class
import: 'FileInputStream' as java class
Traceback (most recent call last):
  File "/opt/websphere/datasource_config.py", line 5, in <module>
    from org.python.modules import time
ImportError: cannot import name time

2 个答案:

答案 0 :(得分:0)

错误在这里会产生误导。问题可能是您在目录/ usr / lib / jython-25 / cachedir / packages中没有权限,也可能在父目录cachedir中没有权限。如果你在wsadmin.sh启动时查看输出的第一行,它实际上暗示了这一点。

答案 1 :(得分:-1)

你无法将java本身“导入”到python中。 import语句将导入 python 模块。

如果你需要从python调用Java,你需要找到一个java-&gt; python库。

但是,您的示例代码建议您只是尝试读取(或写入)一个文件,您可以直接在python中执行该操作,而不使用java。