
[英]What does the following code do in cpython
我正在学习 cpython 内部结构(尤其是is运算符),并在 ceval.c 中遇到了IS_OP的以下操作码实现 我知道前两个语句从堆栈中弹出操作数。 但我的问题与以下陈述有关。 据我了解,python is运算符比较 object 身份,在其他团队中,它将检查两个对象是否指向相同的 object ...
[英]What does the following code do in cpython
我正在学习 cpython 内部结构(尤其是is运算符),并在 ceval.c 中遇到了IS_OP的以下操作码实现 我知道前两个语句从堆栈中弹出操作数。 但我的问题与以下陈述有关。 据我了解,python is运算符比较 object 身份,在其他团队中,它将检查两个对象是否指向相同的 object ...
[英]Illegal instruction in random.py when building yocto dunfell
我正在将我的 Yocto 版本从 sumo 升级到 dunfell,但在 package python3-setuptools-native (v45.2.0-r0) 中出现错误,指出它已达到Illegal instruction 。 我的 yocto tmp 和 sstate-cache 目录都是 ...
[英]Is there a way to version a Python C extension?
我有一个 python3 发行版,它有一个 package 和一个 C 扩展。 我希望能够在tell.py脚本中的导入期间指定 C 扩展的版本,但似乎无法弄清楚。 我的目录结构如下: 我可以很好地导入 funjoke 模块的特定版本: 但是 fastjoke 扩展没有从setup.py脚本中获取版 ...
[英]Run Python from C++ on Android using NDK
我想使用 NDK 通过 JNI 从 Android 运行一些 Python 代码,如下所示: 是否有可用于 Android 的预构建libpython ,或者有什么方法可以交叉编译它以实现这一目标? ...
[英]What sets nb_bool in CPython?
默认情况下,Python 类型 object 上的nb_bool插槽不应该存在。 否则,如果默认的slot_nb_bool存在,则在调用时,会在定义__len__时导致无限递归。 如果是这样,在以下场景中设置nb_bool的是什么? object 类型没有为__bool__设置描述符,并且元类_ ...
[英]CPython Memory Heap Corruption Issue
我有一个Windows fatal exception: code 0xc0000374 - 是的,有多处理(等待但是......)。 Google 表示异常代码 0xc0000374 表示堆损坏。 是的,多处理是必须的。 它是我正在使用的框架的一部分,因为每个机器人都有可能拥有自己的核心来运行。 ...
[英]How to debug GC in PyPy?
我最近一直在尝试从 CPython 切换到 PyPy,在尝试解决一个错误,更准确地说是带有 SIGSEGV 信号的错误 139(因此是分段错误)时,我尝试通过查看 GC 模块来调查垃圾收集gc.garbage属性列表。 例如,在 CPython 中,我可以运行以下代码段(从那里获取并进行修改)来检 ...
[英]Add a new cpython keyword
我目前正在使用 cpython 指南: https ://realpython.com/products/cpython-internals-book/ 我将详细说明我做了什么以及问题是什么。 正如书中所说,我克隆了 github: 然后我编译: 然后,在谈到语法的部分,我修改了pytho ...
[英]pybind11: add callback function for "module constructor"
pybind11 文档有一节关于“模块析构函数”。 你如何用 pybind11 实现“模块构造函数”? 假设我想在我的模块导入 Python 时执行 C++ 函数。 通常,如果这是一个 Python 模块,我只需将带有函数调用的命令添加到module.py的顶级范围中。 这是你可以在 Pyt ...
[英]Can I view intermediate results of lexer and parser in Python?
随着 Python 3.9 的发布,将解析器从 LL(1) 解析器更改为基于 PEG 的解析器,这让我想到我从未见过 Python (CPython) 的词法分析器或解析器。 据我了解,图片看起来像 是否可以查看这些中间结果(令牌、AST、我错过的任何其他结果)? ...
[英]Loop behavior in python
我想打印 0,1,4,5,6,7,8,9 但它正在打印 0,1,4,3,4,5,6,7,8,9。 有没有什么办法解决这一问题?? ...
[英]Why is list(x for x in a) faster for a=[0] than for a=[]?
我用三个不同的 CPython 版本测试了list(x for x in a) 。 在a = [0]它比在a = []上快得多: 使用tuple而不是list ,这是预期的另一种方式: 那么为什么当list (以及底层的生成器迭代器)必须做更多事情时,它会更快呢? 在 Windows 10 ...
[英]Allow reserved key words as methods in CPython
看起来 Python 有一个不能用作方法名称的保留关键字列表。 例如, class A: def finally(self): return 0 返回一个SyntaxError: invalid syntax 。 有一种方法可以使用getattr/setattr , cl ...
[英]`setattr` fails with `AttributeError` in CPython?
出于某种原因,这在 Python 3.8 中失败了: 错误: 如何附加随机数据我不应该,即在迭代器或生成器上? ...
[英]Can I apply multithreading for computationally intensive task in python?
更新:为了节省您的时间,我直接在这里给出答案。 如果您使用纯 Python 编写代码,则 Python无法同时使用多个 CPU 内核。 但是Python在调用一些用C编写的函数或包时可以同时利用多核,比如Numpy等。 我听说“ python 中的多线程不是真正的多线程,因为 GIL ”。 而且 ...
[英]python embedding, defining new type, How can I create a new instance in c side
我正在阅读python c Defining New Types 。 我想不通,定义新类型后,如何在c端创建Noddy的新实例。 例如创建一个方法noddy.create_default_noddy 。 我试过这个。 但没有运气。 static PyObject *noddy_createDefa ...
[英]undefined symbol: THPVariableClaload_textures.cpython-37m-x86_64-linux-gnu.so: undefined symbol: THPVariableClass
你知道我怎么解决这个问题吗? 我正在尝试使用https://github.com/benjiebob/SMALViewer/issues/3 repo 但是我在神经渲染器端口上出现错误: 以下是一些细节: 这是神经渲染器 git repo: https : //github.com/dani ...
[英]CPython API - Error (exit code -1073741819) with Py_BuildValue()
我一直在尝试使用 CPython API 创建一个计算贝塞尔曲线的函数。 但是,当我尝试运行该程序时,出现以下错误(而不是退出代码)。 一切都正确编译,这是我的代码: static PyObject* BezierCurve_raw_bezier_curve(PyObject* self, PyOb ...
[英]How to make a python objects self or attribute not get assigned to the referencer object when it is references?
我希望当 object 被另一个引用时,引用者的自身 object 或其属性之一在引用者 object 处有所不同这就是我想要做的: 我怎样才能做到这一点,通常当像a = b这样的分配时, b是对a的引用,任何帮助将不胜感激,我希望b是a的副本/深层副本,属性相同从现在开始感谢回答问题的人注意:我 ...
[英]Error when Compiling CPython: C2440 'function': cannot convert from 'PyObject' to PyObject *'
我是使用 CPython(以及 C)的新手,我试图创建一个扩展模块来计算 nCk。 但是,我在编译时遇到了这个非常烦人的错误。 这是我的代码: PyObject* combination(PyObject* n, PyObject* k){ PyObject* output = ONE; ...