问题标签 [pythoninterpreter]

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 投票
0 回答
397 浏览

java - 使用 Java 中的 PythonInterpreter 时出现 java.lang.ClassCastException

我正在尝试调用python函数,从java(groovy)中传递HashMap。python 函数对输入映射中的每个值进行平方并返回具有相同键的平方字典。

JythonTest.groovy

py1.py

但我收到以下错误:

在异常堆栈跟踪中,它说异常在 python 文件第 3 行。但是当我从 python 本身调用 python 函数时,比如在末尾附加以下行py1.py

我得到以下输出:

那么为什么从 java 调用 python 函数会失败呢?我不明白这里出了什么问题。为什么调用pf.__call__(pyDict)抛出这样的异常?

0 投票
0 回答
135 浏览

android - PythonInterpreter Jython 使 transformClassesWithDexForDebug 错误。*.py 文件必须位于何处?

我使用安卓工作室。*.py 文件必须位于何处?或者是 gradle 文件中的问题并且不够?错误:任务“:app:transformClassesWithDexForDebug”执行失败。

com.android.build.api.transform.TransformException:java.lang.RuntimeException:java.lang.RuntimeException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.ide。 common.process.ProcessException:dex进程返回码1

0 投票
1 回答
1435 浏览

python - python如何在内部工作?一个以上的python解释器是否会使CPU使用率过高?

设想

我在 php 中使用exec(...)调用 python 脚本,python 发挥了它的作用,它是非结构化环境,没有 django 或任何其他框架。

产品是基于客户端的产品,大多数任务都是长期运行的任务。

因此,如果客户有任何要求,必须立即满足。对我们来说,时间也是我们不能拖延进程的主要关注点。

因此,如果我会收到来自客户端的太多请求(可能是,crons 也在同时工作),我将获得太多的 python 进程,并且据我所知,每个 exec(...) 都会调用解释器。因此,如果无论如何我可以防止在每次通话时调用解释器,那对我来说会很好。1Kb 或 1Mb 的内存空间非常有用。

问题

  1. 内存使用率很高(如果我可以节省 1Mb,我想尝试任何解决方案。假设脚本写得很好。在循环中给出了适当的睡眠并且垃圾收集器管理得很好。)
  2. 有时对于长时间运行的 python 脚本,如果从 php 调用该脚本,则使用 exec(...) 并且未在后台调用进程,并且该 python 脚本已经结束,并且在该 exec 之后执行下一行仍然需要时间.

解决方案

对于解决方案,我认为我应该对 python 使用 API 调用。但请记住我不能使用任何框架。要使用框架,我需要重写代码,这在我的情况下是不可能的。所以 CGI 和 FCGI 可以在这里帮助我。

要从 API 调用运行 python 脚本,我需要启用 CGI 才能运行。

但我发现很有趣::

使用 CGI 与 Web 服务器通信的程序需要由服务器针对每个请求启动。因此,每个请求都会启动一个新的 Python 解释器——这需要一些时间来启动——从而使整个接口仅可用于低负载情况。

通用网关接口

如果我将运行如下脚本,那么所有脚本都会立即启动

假设这所有程序都是长时间运行的任务。

1)我可以阻止python模块创建更多解释器吗?如果可以,我该怎么做?

2)一个python模块最多可以创建多少个解释器(像上面的代码一样)?

0 投票
0 回答
152 浏览

python - 在 Python Shell 中将用户的输入作为命令运行(交互模式)

我想知道是否可以要求用户输入,在 python 解释器中将其作为命令运行并将输出分配给变量。我想要这样,就好像我在交互模式下执行命令但在我自己的 python 脚本中一样。

我尝试过以下方法:

但是,使用此方法时,我发现了一些限制,包括无法退出交互模式以及无法将输出分配给变量。

作为参考,这将用于创建 python 计算器。

0 投票
1 回答
485 浏览

compilation - 编译器和解释器的关系

**解释是否在执行 pgm 期间遵循编译阶段?**仅当我们运行程序时会发生什么?如果这些是不同的事情,那么在解释之前将执行语法检查。当我读到 python 是一种解释语言然后检查由什么做的陈述?

0 投票
2 回答
70 浏览

python - 你知道为什么python的答案是6吗

我是一个绝对的初学者,请求大家帮助大师。你知道吗,为什么答案是 6(我在 udacity 上运行 python 解释器)

答案:6

0 投票
0 回答
317 浏览

c - c语言中的python虚拟机(字节码解释器)

请任何人解释一下python字节码。我通过linux中的hexdump命令将.pyc文件转换为十六进制代码。但是无法理解十六进制代码的排列方式。实际上我在CI中构建了一个python虚拟机,不知道如何阅读这些十六进制代码?如何在 C 中执行 .pyc 文件?

这是源代码

这是 .pyc 文件的 hexdump 输出

我知道 .pyc 文件中的这个内容包含一个幻数、一个时间戳和伪编译代码。我想要创建的是一个 python 字节码解释器。我尝试使用 dis 模块和 marshal 模块来解压 .pyc 文件,并获得了很多关于堆栈机器中各种事物如何工作的信息。

但是是否有可能通过浏览 .pyc 内容来创建一个纯粹用 C 语言编写的微型解释器,而不使用 dis 模块?

0 投票
0 回答
197 浏览

python - 在嵌入式 Python 解释器中重新加载模块

我们正在编写一个 C 应用程序,它允许人们加载一个 python 模块并在其中调用一个函数。当用户请求通过用户界面操作(一次)运行该函数时,将调用该函数。Python解释器嵌入在应用程序中,以避免进程间通信的数据通信成本。

解释器中加载的模块可以由用户在外部进行修改,并且当用户请求下次运行该模块时,应用程序应该重新加载该模块。

鉴于 python 模块重新加载 API 不会重新加载依赖的子模块,我们实现这一点的唯一方法是卸载模块。为此,我们使用此处描述的RollbackImporter

以这种方式从嵌入式 Python 解释器中卸载和重新加载模块安全吗?

0 投票
2 回答
67 浏览

python - 使用 python 代码运行 python 解释器,使用局部变量

很多时候,我们在某些用户定义的函数中遇到错误并想要对其进行调试。如果错误发生在主程序中,我们可以使用-i标志来保存错误后的变量。但是如果错误发生在用户定义的函数中,我们就无法访问函数的局部变量。有没有一种方法可以让我们通过 python 代码打开 python 解释器,接受来自的代码stdin并将输出打印到stdout. 像这样的东西: -

我们应该能够通过以下方式提供以下输入stdin:-

0 投票
1 回答
2189 浏览

java - 找不到 Jython 类

我编写了一个名为 jug.java 的 java 文件,它使用了 jython 和 PythonInterpreter;这是代码:

当我尝试使用此命令执行它时:

javac Jug.java

出现这些错误:

还安装了 jython。我该如何解决该错误?

更多信息

我已经使用终端安装了 jython:

它成功安装了 jython。但是每当我尝试从源代码安装它时:

出现这些错误: