28得票2回答
编译器找不到Py_InitModule()..它已经被弃用了吗?如果是的话,我应该使用什么?

我试图为Python编写一个C扩展。使用以下代码时,我收到编译器警告:implicit declaration of function ‘Py_InitModule’ 运行时出现以下错误:undefined symbol: Py_InitModule 我已经花费了数小时的时间进行搜索,但没有找...

11得票3回答
如何编写一个C函数,可以接受整型或浮点型参数?

我想在C语言中创建一个函数,扩展Python,可以接受float或int类型的输入。因此,基本上,我希望f(5)和f(5.5)都可以作为合法输入。 我认为不能使用if(!PyArg_ParseTuple(args,"i",$value)),因为它只能接受整数或者浮点数其中之一。 如何让我的...

17得票6回答
VS Code: "isort 服务器在过去3分钟内崩溃了5次..."

我可能弄乱了一些环境路径变量。 在学习Django和虚拟环境时,我在VS Code中进行了一些调试,并更改了Python安装的目录路径。在找到如何指向VS Code的默认Python路径时,我删除了一些用户路径变量。 然后,isort开始拒绝运行。 我尝试卸载扩展程序、删除ms-pyth...

9得票2回答
使用MacOS 10.15(Catalina)创建 Python C 扩展,保证向后兼容(MacOS 10.9+)。

我如何在MacOS上创建一个Python C扩展轮子,使其向后兼容(MacOS 10.9+),并且能在MacOS 10.15上运行? 目前我已有以下内容: export MACOSX_DEPLOYMENT_TARGET=10.9 python -m pip wheel . -w wheel...

36得票2回答
在Python中,什么是PyObject?

简短版本 我最近在 Python 代码中看到一个函数的返回类型被指定为 PyObject,在文档中有说明。那么,PyObject 是什么? 详细版本 虽然我不是 C/C++ 程序员,但当我在上面链接的文档中看到 PyObject 时,我通过 Google 发现 PyObject 是使用 Py...

7得票2回答
数据损坏:错误在哪里?

最后编辑:我已经弄清楚了问题所在(请参见下面的我的答案),但似乎无法将问题标记为已解决。如果有人能回答我在下面答案中提出的问题,即这是否是Cython的一个bug还是Cython的预期行为,那么我将标记该答案为已接受,因为这将是从中获得最有用的教训,我个人认为。 首先,我不得不说我已经试...

56得票4回答
pylint 1.4在所有C扩展上报告E1101(no-member)错误

我们长期以来一直是pylint的粉丝。它的静态分析已经成为我们所有Python项目中至关重要的一部分,并节省了大量时间来追踪难以捉摸的错误。但是从1.3升级到1.4后,几乎所有编译的C扩展都会产生E1101(未知成员)错误。 之前在pylint 1.3下完美运行的项目现在会对几乎每个C扩展成...

12得票3回答
在Windows上使用f2py构建64位Python扩展

我正在尝试使用Numpy的f2py.py脚本从Fortran源代码构建Python扩展。我按照http://www.scipy.org/F2PY_Windows (网络档案馆)中的步骤进行操作。我的系统是Windows 7 64位,我主要使用Python 2.7.3 [MSC v.1500 6...

12得票1回答
如何在Python C扩展中指定__init__的文档字符串

也许是个愚蠢的问题: 在编写 C 扩展时,如何为诸如 __init__ 这样的特殊函数指定文档字符串? 对于普通方法,方法表提供了文档字符串的功能。 当我尝试使用 help(myclass) 时,将显示以下自动生成的文档: __init__(...) x.__init__(......

50得票9回答
Cython编译的C扩展:ImportError: 动态模块未定义init函数。

我刚刚使用Cython将我的C库的一部分编译成了扩展,作为一个“概念证明”。我设法解决了代码中的问题(除了const正确性问题之外),最终成功构建了扩展。但是,当我尝试导入新创建的扩展时,出现了以下错误:ImportError: dynamic module does not define i...