создание экземпляра объекта webclient в jython, дающего странные результаты - PullRequest
0 голосов
/ 08 января 2012

Я пытаюсь использовать java WebClient jar в скрипте jython.

Я запускаю скрипт 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

Это содержимое папки lib в каталоге python.path:

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

Любая идея о том, почемуэто не работает?

Ответы [ 2 ]

0 голосов
/ 21 февраля 2013

что вам нужно сделать, это добавить файлы .jar в путь к классу Java.Это место, где java ищет модули / классы для импорта.В Mac OS: откройте терминал и введите:

export CLASSPATH=$CLASSPATH:/x/y/htmlunit-2.11/lib/*

, где /x/y/htmlunit-2.11/lib/ - каталог, в котором находятся все файлы .jar.

0 голосов
/ 09 января 2012

Не думаю, что подстановочные знаки работают при установке системного свойства, например python.path.Попробуйте это:

$ CLASSPATH = / home / tipu / Dropbox / dev / proj / lib / *

$ jython test.py

...