首页 > 解决方案 > Jython ImportError: No module named gargoylesoftware, no resolution found

问题描述

我想将 jython 用于基本的网络抓取任务,而不是学习 java。为了学习基础知识,我使用了来自http://blog.databigbang.com/web-scraping-ajax-and-javascript-sites/的示例,我尝试从 Windows cmd 运行 gartner.py 代码一直没有成功。任何人都可以建议解决为什么两者

jython -J-classpath "path\to\the\jars\*" path\to\gartner.py

jython path\to\gartner.py

继续扔

Traceback (most recent call last):
  File "path\to\gartner.py", line 1, in <module>
    import com.gargoylesoftware.htmlunit.WebClient as WebClient
ImportError: No module named gargoylesoftware

path\to\jython\bin鉴于我已经为 jython 、 javapath\to\Java\jdk-14.0.1\bin和 htmlunit-2.40.0设置了环境变量,我已添加path\to\jars\htmlunit-2.40.0\lib到 CLASSPATH 中。我知道 jython 应该拿起指定的包,jython -J-classpath "path\to\the\jars\*" path\to\gartner.py但它没有找到它。另外,我知道在jython path\to\gartner.py定义的 CLASSPATH 变量可用于指向 htmlunit-2.40.0(如上所述)的 Java 的情况下,而 jython 仅用作从 python 到 java 的翻译器。所以 - 在我的理解中 - java 应该有所有可用于导入所需模块的参数。请问,有人可以确认吗?

我很欣赏这个主题已经进行了一些讨论,但没有明确的解决方案。我会错过什么?

标签: javapythonweb-scrapingjythonhtmlunit

解决方案


该错误看起来非常明显,就像您缺少 Java 依赖项一样。这个特定库的 jython 问题已经在另一个线程中讨论过:在 jython 中实例化一个 webclient 对象会给出奇怪的结果


推荐阅读