我正在尝试在jython脚本中使用java的WebClient jar。
我正在运行一个类似的jython脚本:
jython -Dpython.path=/home/tipu/Dropbox/dev/proj/lib/* test.py
test.py的内容:
import com.gargoylesoftware.htmlunit.WebClient as WebClient
def main():
webclient = WebClient() # creating a new webclient object.
if __name__ == '__main__':
main()
我得到的错误是:
Traceback (innermost last):
File "scraper.py", line 1, in ?
ImportError: no module named gargoylesoftware
这是python.path目录中lib文件夹的标志:
commons-codec-1.4.jar commons-lang-2.6.jar htmlunit-2.9.jar httpcore-4.1.2.jar sac-1.3.jar xercesImpl-2.9.1.jar
commons-collections-3.2.1.jar commons-logging-1.1.1.jar htmlunit-core-js-2.9.jar httpmime-4.1.2.jar serializer-2.7.1.jar xml-apis-1.3.04.jar
commons-io-2.0.1.jar cssparser-0.9.5.jar httpclient-4.1.2.jar nekohtml-1.9.15.jar xalan-2.7.1.jar
知道它为什么不起作用?
答案 0 :(得分:0)
在设置python.path
等系统属性时,我认为通配符不起作用。试试这个:
$ CLASSPATH = / home / tipu / Dropbox / dev / proj / lib / *
$ jython test.py
答案 1 :(得分:0)
您需要做的是将.jar文件添加到java的类路径中。这是java查找要导入的模块/类的位置。 在Mac OS中: 打开一个终端,然后输入:
export CLASSPATH=$CLASSPATH:/x/y/htmlunit-2.11/lib/*
其中/x/y/htmlunit-2.11/lib/是所有.jar文件所在的目录。