jython-standalone-2.7.0.jar 和 jython-2.7.0.jar 有什么区别

2023-11-25

我写了一个Java例子,代码是:

import org.python.core.PyObject;
import org.python.util.PythonInterpreter;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import java.util.List;

class JythonExample {

  public static void main(String args[]) throws ScriptException {
    listEngines();

    ScriptEngineManager mgr = new ScriptEngineManager();
    ScriptEngine pyEngine = mgr.getEngineByName("python");

    try {
      pyEngine.eval("print \"Python - Hello, world!\"");
    } catch (Exception ex) {
      ex.printStackTrace();
    }

    final PythonInterpreter interpreter = new PythonInterpreter();
    interpreter.exec("print \"Python - Hello, world!\"");

    PyObject result = interpreter.eval("2 + 3");
    System.out.println(result.toString());
  }

  public static void listEngines(){
    ScriptEngineManager mgr = new ScriptEngineManager();
    List<ScriptEngineFactory> factories =
        mgr.getEngineFactories();
    for (ScriptEngineFactory factory: factories) {
      System.out.println("ScriptEngineFactory Info");
      String engName = factory.getEngineName();
      String engVersion = factory.getEngineVersion();
      String langName = factory.getLanguageName();
      String langVersion = factory.getLanguageVersion();
      System.out.printf("\tScript Engine: %s (%s)\n",
          engName, engVersion);
      List<String> engNames = factory.getNames();
      for(String name: engNames) {
        System.out.printf("\tEngine Alias: %s\n", name);
      }
      System.out.printf("\tLanguage: %s (%s)\n",
          langName, langVersion);
    }
  }
}

In my pom.xml,如果我使用:

<dependency>
    <groupId>org.python</groupId>
    <artifactId>jython-standalone</artifactId>
    <version>2.7.0</version>
</dependency>

然后我就可以跑了java -jar target/jython-example-1.0-SNAPSHOT.jar成功了,顺便说一句,我用了maven-assembly-plugin构建一个可运行的 jar。

如果我使用:

<dependency>
    <groupId>org.python</groupId>
    <artifactId>jython</artifactId>
    <version>2.7.0</version>
</dependency>

然后当我跑步时java -jar target/jython-example-1.0-SNAPSHOT.jar,我总是会收到以下错误:

ScriptEngineFactory Info
    Script Engine: jython (2.7.0)
    Engine Alias: python
    Engine Alias: jython
    Language: python (2.7)
ScriptEngineFactory Info
    Script Engine: Oracle Nashorn (1.8.0_31)
    Engine Alias: nashorn
    Engine Alias: Nashorn
    Engine Alias: js
    Engine Alias: JS
    Engine Alias: JavaScript
    Engine Alias: javascript
    Engine Alias: ECMAScript
    Engine Alias: ecmascript
    Language: ECMAScript (ECMA - 262 Edition 5.1)
java.lang.NullPointerException
    at me.soulmachine.JythonExample.main(JythonExample.java:21)
Exception in thread "main" ImportError: Cannot import site module and its dependencies: No module named site
Determine if the following attributes are correct:
  * sys.path: ['/home/programmer/src/github/JythonExample/JythonExample/target/Lib', '__classpath__', '__pyclasspath__/']
    This attribute might be including the wrong directories, such as from CPython
  * sys.prefix: /home/programmer/src/github/JythonExample/JythonExample/target
    This attribute is set by the system property python.home, although it can
    be often automatically determined by the location of the Jython jar file

You can use the -S option or python.import.site=false to not import the site module

看来pyEngine is null.

所以我想知道有什么区别jython-standalone-2.7.0.jar and jython-2.7.0.jar


我刚刚发现的一个问题有同样的错误,那就是 maven build 2.7.0 不包含 lib 文件夹。这可能是发布版本的构建错误。我必须升级 b2 版本,它正确地将 lib 文件夹包含在提供的 jar 中。

问题maven 2.7.0 jar:
<dependency> <groupId>org.python</groupId> <artifactId>jython-standalone</artifactId> <version>2.7.0</version> </dependency>

包含 lib 文件夹的工作 maven 2.7.1b2:
<dependency> <groupId>org.python</groupId> <artifactId>jython-standalone</artifactId> <version>2.7.1b2</version> </dependency>

注意:如果您直接从 Jython 站点下载 jar,它会正确包含 lib 文件夹。这只是 Maven 存储库版本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jython-standalone-2.7.0.jar 和 jython-2.7.0.jar 有什么区别 的相关文章

  • 尝试运行简单的monkeyrunner python脚本,'importerror no module named os'

    我的计算机上安装了 android 模拟器 SDK 并且我正在尝试运行一个简单的 python 脚本 但它在 导入操作系统 行上失败 这应该是标准的 这是我的脚本 import os print os environ PATH 当我针对实际
  • 理解如何使用 Jython 时遇到的问题

    我刚刚开始学习 Jython 在实施方面遇到了一些问题 我已经浏览了 Jython 2 5 附带的演示文件 但我仍然不确定如何实现 Jython 来获得我想要的东西 目前 我已经将 Java 代码作为进程执行 Python 服务器 Pyth
  • 在图像上绘制对角线

    您好 我正在尝试在图像的右上角到左下角之间绘制对角线 这是到目前为止我的代码 width getWidth picture height getHeight picture for x in range 0 width for y in r
  • Sikulix/Jython UAC 自动化

    我想知道是否有人有幸在安装程序自动化期间通过 UAC 弹出窗口实现自动化 我有一个现有的自动安装程序代码 但由于 Sikuli 在此步骤中未使用键盘 鼠标 它在 UAC 区域失败 有人在这里有运气吗 或者在 Jython 中没有办法做到这一
  • 使用 JSR-223 从 Jython 脚本获取数据

    我正在使用 Jython 2 5 1 和 JSR 223 即 javax script 包 并且我希望返回 Python 脚本的最后一行 例如 在评估此脚本后 class Multiplier def multiply self x y r
  • Jython:如何使用文件“jython-2.7-b1.jar”

    我是 Jython 新手 我从这里下载了一个jar文件http www jython org downloads html 下载 Jython 2 7beta1 jython jar 安装程序 不带捆绑 python 文件的独立版本 当我运
  • java和python之间传递数据

    如果我的问题很菜鸟 我很抱歉 我正在运行 Django 1 2 和 pgsql 8 4 我需要在获取用户的输入后运行 Java 程序 进行一些计算并将结果返回给用户 我可以知道在 Java 和 Python Django 之间传递数据的最佳
  • 从 Eclipse 打包和部署 Jython 程序

    因此 我一直致力于编写一些 Jython 代码 我一直在使用最新版本的 Eclipse IDE 和 PyDev 插件进行开发 到目前为止 情况还算可以忍受 我已经让所有 Python 脚本正常工作 并且成功地将几个 JAR 文件和另一个 J
  • 将 ctypes 与 jython 一起使用

    我在 python 脚本中使用 ctypes lib 时遇到问题 这是我的代码 在互联网上找到 if name main from ctypes import user32 windll user32 kernel32 windll ker
  • 缩放图片的一部分

    我想放大图片的一部分 在本例中是鼻子 我有一个功能可以选择要放大的图片部分 def copyAndPaste picture height getHeight picture width getWidth picture newPictur
  • 如何让 PyDev 编辑器有选择地忽略错误?

    我在 Eclipse 下使用 PyDev 编写一些 Jython 代码 我有很多情况需要做这样的事情 import com work project component client Interface ISubInterface as I
  • Jython 2.5.1:从 Java 调用 __main__ - 如何传入命令行参数?

    我在 Java 中使用 Jython 所以我有一个类似于下面的Java设置 String scriptname com blah myscript py PythonInterpreter interpreter new PythonInt
  • Python 需要 GIL。但 Jython 和 IronPython 没有。为什么?

    为什么您可以运行 Jython 和 IronPython 而无需 GIL 但 Python CPython 需要 GIL 解释器的某些部分不是线程安全的 尽管主要是因为通过大量使用锁使它们全部线程安全会极大地减慢单线程速度 source h
  • Jythonc 失踪

    我刚刚安装了 Jython 2 5 1 我想将我的 Python 文件转换为 Java 类文件 网站上指示使用 jythonc 命令行工具 但我找不到它 有谁知道我在哪里可以找到它 基本上我想要完成的是让我的 Python 代码在浏览器中运
  • 编写在 CPython、Jython 和 IronPython 中运行的 Python 代码有哪些策略

    在尝试同时针对其中两个环境时 我可以有把握地说 如果您必须使用数据库等 那么您最终必须为该环境编写唯一的代码 您有处理这种情况的好方法吗 If you do发现你需要为某个环境编写独特的代码 请使用 python import mymodu
  • 如何在 Java 中使用 Jython Standalone 安装 Python 库?

    我正在尝试使用 Java 中的 Jython Standalone jar 安装 Python 库 我的代码似乎将 PIP 7 1 2 安装在独立 jar 旁边的文件夹中 但是一旦我尝试使用 PIP 进行自身升级 它就会失败并出现 ZipI
  • Sikuli 积分器 C#

    我想在 C 中使用 Sikuli Integrator 我以管理员身份运行 VS 通过 NuGet 管理器安装 Sikuli Integrator 并想在简单任务上测试他 这是我的代码 using SikuliModule using Sy
  • 将 Python 3.5 项目转换为 Jython - UnicodeDecodeError: 'unicodeescape' 编解码器无法解码位置 4-10 中的字节:非法 Unicode 字符

    我的最终目的是将正在运行的 Python 项目转换为 Jython 解释器 因为将添加一些 java API Details 最新的 Jython 是 2 7 我的项目可以使用 Python 3 5 运行 所以我采取了以下方法 第一件事是利
  • 使用按钮作为列表的渲染器

    我想使用一个更复杂的渲染器 其中包含列表的多个组件 更准确地说 类似于this https stackoverflow com questions 10840498 java swing 1 6 textinput like firefox
  • 从 Java 调用 Python 代码时出现问题(不使用 jython)

    我发现这是从 java 运行 使用 exec 方法 python 脚本的方法之一 我在 python 文件中有一个简单的打印语句 但是 我的程序在运行时什么也没做 它既不打印Python文件中编写的语句 也不抛出异常 程序什么都不做就终止了

随机推荐

  • 渲染部分视图时如何调用控制器操作?

    我正在为侧边栏创建部分视图 该侧边栏将显示我的网站中最受欢迎的帖子 如何创建一个单独的控制器来加载部分视图所需的模型 这IEnumerable
  • 带有虚函数的类的大括号初始化

    有这样的代码 struct A int x void f struct B int y virtual void f A a 2 B b 3 error no matching constructor for initialization
  • 让 NFC/Beam 更加自动化

    我正在向我的应用程序添加 NFC Beam 功能 我希望它尽可能自动工作 我想摆脱发送者的 触摸到光束 屏幕和接收者的 扫描新标签 屏幕 基本上 我希望它像三星广告中那样工作 我在 stackoverflow 上读到 似乎没有办法摆脱 To
  • JavaScript 中分组运算符“()”的功能与 Haskell 或其他编程语言有何不同?

    分组运算符 在 JavaScript 中 分组运算符 控制表达式中求值的优先级 有没有功能 JavaScript 本身与 Haskell 或任何其他编程语言有何不同 换句话说 功能是否齐全 编程语言本身受评估策略 也许我们可以分享下面的代码
  • MVC 4模型中提交表单在控制器post方法中为空

    所以我现在的问题是 当我提交以下表单时 我无法将模型放入控制器中 我试图让 BillingCodes 这是 BillingCodeObjects 的列表 中的项目循环通过并显示 我从其中删除了一些与情况无关的代码 以使其更短且更易于阅读 这
  • 如何本地化 WPF 4.0 DatePicker 控件

    当您清除新的 WPF 4 0 DatePicker 控件上的框时 它会显示 选择日期 有没有办法本地化文本 我采纳了马特的想法 并对其进行了一些扩展 我实现了一个附加行为 它允许您通过 XAML 为每个 DatePicker 控件定义水印
  • C# 中保存的 JPG 的质量

    我制作了一个小型 C 应用程序来创建 jpg 格式的图像 pictureBox Image Save name ImageFormat Jpeg 镜像创建成功 我输入一张原始图片 用它做一些事情并保存它 然而 这张新照片的质量低于原始照片
  • 如何使用 grep 进行搜索和替换

    我需要在目录中的所有文件和子目录中递归搜索指定的字符串 并用另一个字符串替换该字符串 我知道找到它的命令可能如下所示 grep string to find r 但我怎样才能替换每个实例string to find用另一个字符串 另一种选择
  • Mongoose Schema 尚未注册模型

    我正在使用 MEAN 堆栈 当我尝试使用以下命令启动服务器时npm start 我得到一个例外 schema hasn t been registered for model Post Use mongoose model name sch
  • ASP.NET MVC:对操作强制执行 AJAX 请求

    我正在寻找一种方法来强制只能通过 AJAX 请求访问控制器的操作 在调用操作方法之前执行此操作的最佳方法是什么 我想从我的操作方法中重构以下内容 if Request IsAjaxRequest Do something else retu
  • 应用内购买沙盒测试 - 老沙盒用户不断提示

    我正在开发一款带有应用内购买功能的 iPhone 游戏 我试图通过调用restoreCompletedTransactions 来检索沙盒用户之前的购买 但没有触发任何回调 我在网上看到其他一些遇到类似问题的人删除了沙箱用户并尝试创建一个新
  • 无法从 Visual Studio For Mac 在 iPhone 模拟器中运行 Xamarin 应用程序

    简而言之 我无法在 iPhone 模拟器中运行我的应用程序 没有 播放按钮 三角形 只有一个 调试器 按钮 锤子 As you can see above I have Generic Simulator When I click on i
  • 如果 URL 和图像都存在,Facebook SLComposeViewController URL 将显示在正文中

    Using SLComposeViewController 如果图像和 URL 都存在 我在发布到 Facebook 时会注意到奇怪的行为 具体来说 如果您同时拥有图像和 URL 则该 URL 将显示在 Facebook 帖子的正文中SLC
  • 如何通过 Julia HTTP 访问 API

    使用 Julia 访问 Betfair Exchange API 我已经使用 Julia 大约 2 个月了 最近一直在尝试使用 Julia 访问 Betfair API 有关此服务的说明请参见此处 https docs developer
  • 在 C# 类中重载 vb.net & 运算符

    我这里有一个非常独特的问题 我们的业务应用程序是使用 c 和 vb net 构建的 我们一直在努力接近一个标准 并为我们的一些核心 已经复制的对象削减脂肪 我们已经非常接近了 但是当尝试将重复对象合并到 c 中时 我们的 vb net 代码
  • noexcept 依赖于成员函数的 noexcept

    考虑 class test private int n int impl const noexcept return n public test delete test int n noexcept n n int get const no
  • Android Paging 3 库:如何使用新参数更改列表?

    我有一个显示搜索项目列表的搜索片段 如果用户输入某些内容 我会将该字符串作为新的查询参数传递给 url 并使用 paging 3 库获取新列表 第一个解决方案是 viewModel lateinit var postListUrl Stri
  • Apache Http 客户端打印“[read] I/O error: Read timed out”

    我正在使用 apache http 客户端 v4 5 并将其用作 REST 客户端 在某些情况下 当 httpclient 框架读取收到的内容并将其显示为最后一条消息时 我会识别出来自 httpclient 框架的错误 read I O e
  • Boost.Asio 的可扩展性

    我很好奇其他人在可扩展性方面将 Boost Asio 推向了多远 我正在编写一个应用程序 可能使用近 1000 个套接字对象 少量接受器对象和数千个计时器对象 我已经配置它 以便有一个线程池调用io service run并使用strand
  • jython-standalone-2.7.0.jar 和 jython-2.7.0.jar 有什么区别

    我写了一个Java例子 代码是 import org python core PyObject import org python util PythonInterpreter import javax script ScriptEngin