java - 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 应该有所有可用于导入所需模块的参数。请问,有人可以确认吗?
我很欣赏这个主题已经进行了一些讨论,但没有明确的解决方案。我会错过什么?
解决方案
该错误看起来非常明显,就像您缺少 Java 依赖项一样。这个特定库的 jython 问题已经在另一个线程中讨论过:在 jython 中实例化一个 webclient 对象会给出奇怪的结果
推荐阅读
- macos - Android Studio - 安装 APK 时出错 + 管道损坏错误(在 Mac 上)
- scala - 如何使用 Spark-Sql 高效读取 Hive 表
- angularjs - 量角器运行时错误失败:脚本超时:量角器:进程退出,错误代码为 1
- swift - 我如何使用 CGAffineTransform 进行正确的拖放
- azure - 从源 xxxx 访问 XMLHttpRequest ' 被 CORS 策略阻止:对预检的响应。预检请求不允许重定向
- c - 如何按城镇值的排序顺序将指向城市数组的指针插入城镇数组?
- javascript - NativeScript - 如何减少 iOS 的应用程序图标徽章编号
- javascript - 从javascript数组中获取变量
- python - Django - 从视图中调用 celery 任务
- excel - vba 重复/空单元格 - 突出显示