问题标签 [cythonize]
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.
python-3.x - Python 3.5 cythonizing 无法创建 DLL
我正在尝试使用 Python 3.5 和 cython 创建一个 DLL 文件 (.pyd)。我有以下文件:
安装程序.py
你好世界.pyx
要创建helloworld.pyx
文件,我创建了一个helloworld.py
文件并将其重命名为.pyx
我执行以下操作来生成 DLL 文件:
打开命令提示符
cd 到包含文件的目录
运行命令:python setup.py build_ext
我收到以下错误:
上述步骤基于从 Web 创建 DLL 文件的过程。我尝试查找错误,但没有收到任何有用的答案。
编辑:
我使用此链接进一步检查了 cygwin 和 MinGW 的安装
现在我收到以下错误:
编辑 2:我尝试了这里介绍的解决方案,但它不适用于我的情况。我正在使用 Windows 10 专业版、Python 3.5
python - 在 Cython 中声明一个 numpy 布尔掩码
我应该如何在 Cython 中声明布尔掩码的类型?我真的需要申报吗?这是示例:
cython - Cython:重新编译模块
我有一个关于在 Cython 中编译模块的快速且非常基本的问题:我使用 distutils 和命令“build_ext --inplace”编译了几个模块。当我对这些模块之一进行更改时,重复“build_ext --inplace”会导致错误:
致命错误 LNK1104:无法打开文件 'C:\Users...\PycharmProjects...pyd'
当我关闭 PyCharm 并重新启动它时,一切正常 - 似乎无法删除当前文件,因为它们仍在使用中,除非我重新启动一切。因此,我想知道是否有办法避免重新启动并丢失内存中的所有对象?
最好的,T
python - Cython:如何在没有 GIL 的情况下打印
我应该如何print
在没有 gil 的 Cython 函数中使用?例如:
编译时出现此错误:
我知道如何使用 C 库而不是它们的等效 Python(math
例如这里的库),但我找不到类似的print
.
python - 编译 Cython 文件时出错:word2vec_inner.pyx:1:0: 'TWE-1.gensim.models.word2vec_inner' 不是有效的模块名称
安装程序.py
错误:
我已经为 Python 2.7 和 cython 安装了 Microsoft Visual C++ 编译器,但它无法编译。总是出现这个问题。如何解决这个问题呢?非常感谢!
c - 链接:致命错误 LNK1104:无法打开文件 'C:\Users\hp\.pyxbld\lib.win32-2.7\gensim\models\word2vec_inner.pyd'
我运行 TWE 模型的源代码。我需要编译python的C扩展。我已经为 Python 2.7 和 Cython 安装了 Microsoft Visual C++ 编译器。
首先,我需要运行 TWE/train.py:
二、TWE/gensim/models/wor2vec.py:
第三,我已经用 setup.py 编译了 TWE/gensim/models/word2vec_inner.pyx:
通过使用命令“python setup.py install”,我已经编译了 word2vec_inner.pyx。但出现以下错误:
我检查了 .pyx 文件是否已正确编译并且还安装了 cython。总之,它无法从 gensim/models/word2vec_inner 或 gensim_addons/models/word2vec_inner 导入 train_sentence_sg、train_sentence_cbow、FAST_VERSION、train_sentence_topic。所以就出现了这些问题。但为什么?我已经在两个方向上正确编译了 .pyx 文件。任何人都可以帮助我吗?这个问题困扰了我好几天。请帮帮我,谢谢!
python - cythonize 动态模块未定义模块导出功能
现在我有一个 hello.so 文件以及其他文件(hello.pyx、hello.c)
然后当我尝试导入函数时:
我知道之前有人问过这个问题(下面的链接),但似乎解决方案是运行我已经在做的 python3,所以我不知道如何解决我的问题 Cython 编译错误:动态模块未定义模块导出功能
我应该添加我正在使用的 cythonize 版本: $ cython --version Cython 版本 0.24
python - Cython 与 C++ | 编译错误(未找到 C++ 头文件)| 苹果系统
我正在尝试在 macOS 中使用 Cython 实现一个非常简单的 C++ 代码。这是我的 C++ 代码的标头(它是一个名为cs_test.h
这是我的 C++ 代码(文件名cs_test.cpp
::
这是我的pyx
代码(文件名simulate.pyx
:)
最后,这是我的设置代码 ( setup.py
)
所有上述文件都在同一个文件夹中。我setup.py
使用以下命令运行:
而且,我收到以下错误消息:
在simulate.pyx
中,即使我将行替换为cdef extern from "./cauchy.h" nogil:
,cdef extern from "cauchy.h" nogil:
我仍然会收到相同的错误消息。我了解有关使用的错误消息gcc
可能是因为我正在使用 macOS。但是,我不知道如何让代码知道使用clang++
或c++
代替。
我在这里做错了什么?我将非常感谢您的帮助。
python - 在 Cython 中将复杂的 numpy 数组传递给 C++
我想 Cythonizepyx
脚本的一部分,其中涉及使用复数的 numpy 数组。python 脚本的相关部分如下所示:
在我的工作中N
,Q
和M
是带有复数条目的 numpy 数组。
具体来说,我想将矩阵转移到代码中并N
在.Q
C++
C++
虽然我知道使用指向C++
脚本的指针传输实值 numpy 数组的方法,然后使用 cython,但我对如何处理具有复杂值的 numpy 数组感到有些困惑。
这就是我试图将数组从现在转移pyx
到C++
现在的方式。
这是我的 C++ 代码:
当我使用 cython 编译它时,出现以下错误
我会很感激在这里得到一些帮助。
python - 如何为多个 Python 版本和平台构建编译模块
我为自己的流程构建了一个 Python 3 模块。
我使用 cython 来编译和包装 C++ 源代码。
我有一台带有 Python 3.4 的 Linux (Debian Jessie) 机器,所以 cythonize 让我成为 aProcessing.cpython-34m.so
并将其复制到/usr/local/lib/python3.4/dist-packages
.
但是当我在另一台具有 python3.5 的机器上使用它时,我必须重新编译所有内容。
如何从我的机器上为所有 Python 3 版本和多个平台构建 Linux 或 pip 包(这里只有 Jessie 和 Stretch,它们可能非常接近,实际上是相等的)?最好不必在我的机器上安装所有版本的 Python 3。
这是我用于 cythonization 的 setup.py 文件:
谢谢。