问题标签 [jython]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
6215 浏览

python - 我可以检测我的代码是在 cPython 还是 Jython 上运行?

我正在开发一个小型 django 项目,稍后将部署在 servlet 容器中。但是如果我使用 cPython 而不是 Jython,开发会快得多。所以我想做的是在我的 settiings.py 中测试我的代码是否在 cPython 或 Jython 上运行,这样我就可以告诉它使用适当的数据库驱动程序(postgresql_psycopg2 或 doj.backends.zxjdbc.postgresql)。有没有一种简单的方法可以做到这一点?

0 投票
2 回答
792 浏览

python - 在 Jython 中使用 inspect.py 时出现问题

我正在使用在 Jython 中开发的应用程序。当我尝试在其中使用 inspect.py 时,它会显示错误消息。

我的代码是这样的

当我使用 python.exe 运行它时,没有问题。但是,在应用程序中使用它会引发以下错误

任何帮助将不胜感激。

谢谢拉贾桑卡尔

0 投票
1 回答
4109 浏览

java - Jython:将脚本中的 java 类实例化为 Java 对象,而不是 Python 对象

我在使用 Jython 时遇到问题,但我似乎无法在文档中找到解决方案。

基本上我所拥有的是一个已在 Java 中实例化的对象,我想实例化另一个 Java 对象(在 python 脚本中)并将预实例化的 java 对象添加到我在 jython 解释器中实例化的对象中。

例如:

python脚本(有一个绑定为“b_inst”的B实例):

当我尝试运行上述代码时,出现以下异常: TypeError: setB(): expected 2 args; 得到 1

我很确定这是因为 setB() 方法试图在 Python 对象上调用方法,而不是在实际的 java 对象上。基本上,我希望在 jython 脚本中刚刚创建的 AI 实例上对 setB() 的调用是 java 对象,而不是 python 对象。

抱歉,如果这很明显,我已经阅读了教程以及“Java in a Nutshell”和“Core Python Programming”的 Jython 部分,但是这些例子真的很简单,他们没有关于如何做到这两个的例子方式绑定。

0 投票
1 回答
1094 浏览

jython - 如何为 Jython 交互式解释器会话停用 JLine?

Jython 2.5 默认带有 JLine。

我更愿意将交互式解释器与rlwrap一起使用。如果 JLine 处于活动状态,似乎 rlwrap 不起作用。

在 Scala 中,我会使用rlwrap scala -Xnojline.

Jython 是否有类似的选项来停用 JLine?

0 投票
4 回答
5821 浏览

python - Jython 有 GIL 吗?

我确信它没有,但在互联网上寻找明确的答案让我怀疑。例如,我收到了一篇2008 年的帖子,乍一看有点像笑话,但仔细一看似乎是认真的。

编辑: ……仔细一看,原来个笑话。对困惑感到抱歉。实际上,正如 Nikhil 正确指出的那样,该帖子的评论回答了我的问题。

我们意识到 CPython 在这方面遥遥领先,而且我们缺乏兼容性。经过认真的头脑风暴(和几杯酒),我们决定在 Jython 中引入全局解释器锁可以解决整个问题!

现在,这里的状态如何?sourceforge 上的“差异”页面根本没有提到 GIL。有没有我忽略的官方来源?

另请注意,我知道正在进行的关于 GIL 是否重要的​​讨论,但我暂时不在乎。

0 投票
5 回答
5412 浏览

python - Jython 还是 JRuby?

这是一个高层次的概念问题。我有两个用于相同目的的独立代码库,一个内置于 Python,另一个内置于 Ruby。我需要开发一些可以在 JVM 上运行的东西。所以我有两个选择:将 Python 代码转换为 Jython 或将 Ruby 转换为 JRuby。由于我不认识他们中的任何一个,我想知道是否有人可以给我一些指导。喜欢哪一个运行得更快,或者更重要的是哪一个具有可用于轻松代码迁移的工具(.pyc 到 .jar 文件)?

0 投票
2 回答
454 浏览

python - 从系统运行的脚本中检索 Raw_Input

我正在使用 OS.System 命令来调用 python 脚本。

例子:

在我调用的脚本中,存在以下命令:

如果我从命令行运行 script.py,我可以毫无问题地输入数据,如果我通过自动化方法运行它,我会得到一个 EOFError。我过去曾读到,发生这种情况是因为系统希望计算机运行它,因此永远无法以这种方式接收输入数据。

所以问题是如何让 python 在以自动化方式运行时等待用户输入?

0 投票
5 回答
3629 浏览

python - 快速的python/jython IPC?

我要做的就是通过套接字进行一些 RPC 调用。我有一台运行 jython 2.5 的后端服务器。我需要从在 CPython 上运行 Django 的前端服务器进行一些调用。我一直在努力争取任何形式的 IPC。

我尝试过的事情清单:

  • Apache Thrift没有任何实际版本,只有快照。我想用一些稳定的东西。
  • JSON-RPC很有趣,它应该能够在套接字上运行,但实际上大多数实现似乎只能在 HTTP 上运行。HTTP 开销正是我想要避免的。
  • Protocol Buffers实际上只是一个序列化协议。从我收集的内容来看,protobuf 为 RPC 提供了接口生成,但它只是接口。实际上编写所有连接代码取决于用户。如果我将无法使用套接字,我将只使用 JSON 进行序列化。它更简单,更快
  • Pyro无法将 Jython 作为服务器正常工作。某种套接字超时问题。我已经向邮件列表发送了一条消息。
  • pysage是的,用于消息传递!只有它需要 python 2.6 或处理模块(已编译扩展)。Jython 是 2.5 版,不允许编译扩展。
  • Candygram是 pysage 的一个有趣的替代品,但据我所知,它没有维护。我什至没有用 Jython 尝试过。有什么经验吗?
  • Twisted Perspective Broker Twisted 不适用于 Jython。

我知道用 XML-RPC 做这件事会很容易,这让我更加暴躁。我想避免 HTTP 的开销,但同时我真的不想用套接字来实现我自己的协议。如果我这样做,我会做错。

有任何想法吗?我可能会哭大约 20 分钟,然后就使用 XML-RPC。

0 投票
7 回答
89281 浏览

java - 在 Java 中使用 Python

可能重复:
Java Python 集成

我有一个用 100% Java 编写的大型现有代码库,但我想将 Python 用于其中的一些新部分。我需要做一些文本和语言处理,我更愿意使用 Python 和像NLTK这样的库来做这件事。

我知道 Jython 项目,但看起来这代表了一种在 Python 中使用 Java 及其库的方式,而不是反过来——我错了吗?

如果不是,那么在 Java 和 Python 之间进行接口的最佳方法是什么,这样(理想情况下)我可以在 Python 中调用一个方法并将结果返回给 Java?

0 投票
4 回答
2471 浏览

python - 在 Python 中拦截切片操作

我想模仿一个普通的 python 列表,除了通过切片添加或删除元素时,我想“保存”列表。这可能吗?这是我的尝试,但它永远不会打印“保存”。

这确实适用于其他方法,例如appendand extend,但不适用于切片操作。

编辑:真正的问题是我使用的是 Jython 而不是 Python 并且忘记了它。对问题的评论是正确的。这段代码在 Python (2.6) 中运行良好。但是,代码和答案都可以在 Jython 中使用。