动态模块未定义init函数(PyInit_fuzzy)

2023-11-27

我正在使用Python3.4,我正在尝试安装模糊模块

https://pypi.python.org/pypi/Fuzzy. 

由于提到它仅适用于 Python2,因此我尝试使用 cython 对其进行转换。这些是我遵循的步骤:

  1. cython 模糊.pyx
  2. 海湾合作委员会-g -02 -fpicpython-config --cflags-c 模糊.c -o 模糊.o
  3. 对 double_metaphone.c 做了同样的事情
  4. gcc -shared -o fuzzy.so fuzzy.o double_metaphone.opython-config --libs

当我尝试导入模糊时出现错误:

dynamic module does not define init function (PyInit_fuzzy)

有什么问题吗?这是因为 python2 和 python3 冲突吗?如何解决这个问题?


这是通过快速评论解决的,但为了提供更多细节而作为答案发布......

非常简短的答案是替换所有实例python-config for python3-config or python3.4-config.

不必要的细节如下

OP 试图在 Python 3 中使用 Pyrex 模块(这从问题中并不是特别清楚),因此在 Cython 中重建它是一种明智的方法,因为 Cython 最初是基于 Pyrex 的。

Cython 生成的代码应编译为在 Python 2 或 3 中工作,具体取决于包含哪些标头。python-config为系统上默认版本的 Python 生成相关的编译器/链接器选项,在撰写本文时,该版本通常是 Python 2(在我的系统上,它包括-I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7)。因此它为 Python 2 构建了模块。使用python3.4-config确保包含正确的版本。

在从 Python 2 到 Python 3 的转换中,导入 C 模块时调用的函数从init<modulename> to PyInit_<modulename>,大概是为了帮助确保您只能导入为正确版本构建的模块。因此,当使用 Python 2 构建模块时,它只会创建initfuzzy,因此无法找到PyInit_fuzzy关于进口。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态模块未定义init函数(PyInit_fuzzy) 的相关文章

随机推荐

  • 确定 Firebird SQL 版本的方法?

    有什么方法可以确定 Firebird SQL 正在运行的版本吗 使用 SQL 或代码 delphi C Bye 如果你想通过 SQL 找到它 你可以使用获取上下文要查找引擎版本 请使用以下命令 SELECT rdb get context
  • C++ 抽象类析构函数[关闭]

    Closed 这个问题需要细节或清晰度 目前不接受答案 在父类中仅使用纯虚拟析构函数创建抽象类是否是一种好的做法 是否可能 这是一个示例 class AbstractBase public AbstractBase virtual Abst
  • 列出带全键的 Rails I18n 字符串

    我希望能够生成区域设置的所有 I18n 键和值的完整列表 包括完整的键 换句话说 如果我有这些文件 config locales en yml en greeting polite Good evening informal What s
  • Prettier 代码格式不会在 JSX 或 HTML 中拆分 classNames

    我启用了 Prettier VSCode 扩展 并且我的本地 prettierrc 文件已 printWidth 70然而 作为选项之一 当我的 JSX 或纯 HTML 文件中有一长串类名时 Prettier 不遵循printWidth设置
  • 如何在 Yup 异步验证中设置动态错误消息?

    我正在使用 Yup 在 Formik 中尝试异步验证 test 方法并需要设置我从 API 获得的错误消息 根据后端的某些情况 错误消息会有所不同 尝试了这里提到的一些解决方案 https github com jquense yup is
  • 新 Android Studio 中的 APK 位置

    我开始使用新的 Android Studio 但在 IDE 中找不到应用程序的 APK 它实际位于哪里 为了帮助可能寻找同一问题答案的人 了解您在 Studio 中使用的项目类型非常重要 Gradle 新建项目时默认的项目类型 一般推荐使用
  • 使用 AngularJS 路由持久化查询字符串

    我已经在一个大型 Angular 应用程序上工作了近一年了 但我一直在尝试做我期望的微不足道的事情 这是我使用参数的两条路线 为了简洁而缩短 a id a id b 假设用户位于 a 1并修改查询字符串 例如 a 1 foo 123 bar
  • 如何使用 Java 8 流迭代引用父元素的嵌套 for 循环?

    我想使用 java8 迭代嵌套列表streams 并提取第一个匹配的列表的一些结果 不幸的是 如果子元素与过滤器匹配 我还必须从父内容中获取值 我怎么能这样做呢 java7 Result result new Result find fir
  • 在不存在的地方插入-无主键

    我有 3 个表 dentists groups 和 groupdentlink 许多牙医通过 groupdentlink 表链接到许多组 因此 我尝试进行一个查询 将行插入到 groupdentlink 将该州的所有牙医与该州的所有组链接起
  • Android:在图像视图上设置时如何检测从图库中选取的图像方向(纵向或横向)?

    我正在从图库 相机相册 中选取的图像视图上设置图像 如果选取的图像具有横向方向 则它会完美显示 但如果图像处于纵向模式 即在纵向模式下单击图像 则会显示旋转 90 度的图像 现在我试图找出在图像视图上设置之前的方向 但所有图像都给出相同的方
  • 哪个版本的 jQuery 和 jQuery Mobile 可以一起工作?

    我正在开展一个业余项目 希望它成为一个包含地理定位的移动应用程序 不过 我想从简单的开始 哪个版本的 jQuery 和 jQuery Mobile 协同工作效果最好 我在 iPad 应用程序上使用了一些旧版本 但我想知道更新的版本是否可以真
  • 如何在 Objective-C 中检测外部键盘连接?

    我的应用程序需要知道外部键盘是否连接 我怎样才能知道这一点 请不要使用私有 API 如果这与 iOS 相关 我不确定您为什么要检测它 因为硬件键盘的行为与软件键盘完全相同 除了一些额外的声音 亮度等快捷方式 您的应用程序不应该这样做 无论如
  • 错误:无法为 backports.zoneinfo 构建轮子,安装 django 时出错

    我是 python 开发新手 我正在尝试使用 django 但在使用安装 django 时遇到此错误pip3 install django 4 0 我尝试了一些解决方案 但没有一个有效 我已经尝试过了 将 pip 升级到最新版本 pip i
  • 如何使用 shell 脚本删除字符串中的尾随字符?

    如何删除最后一个n使用 shell 脚本从特定字符串中提取字符 这是我的输入 ssl01 49188 ssl01 49188 ssl01 49188 ssl01 49188 ssl999999 49188 ssl01 49188 abcf9
  • 在 D3.js 中使用序数比例创建标记为 x 轴的文本

    我正在 d3 js 中构建一个带有序数 x 轴的条形图 其刻度应使用文本标记图表 谁能解释序数刻度如何 映射 x 到相应的条形位置 具体来说 如果我想将带有文本值数组的 x 刻度标签指定为条形图中相应的条形 目前我将域设置如下 var la
  • 查找直方图最大值对应的 x 值

    我记录下来是为了证实 S O 的想法 感谢迈克尔 0x2a 我一直在尝试找到与绘制的直方图最大值相关的 x 值matplotlib pyplot 起初 我什至无法找到如何仅使用代码访问直方图的数据 import matplotlib pyp
  • 检查文件是否已经打开

    我正在编写一个文件读取库 需要检查文件是否已打开 以便我可以跳过打开语句并直接进行读取 在 Fortran 中如何实现这一点 当人们想了解与外部文件的连接时 可以使用inquire陈述 有两种形式 按卷查询 按单位查询 tom s answ
  • 如何从Windows服务运行exe并在exe进程退出时停止服务?

    我是使用 Windows 服务的完全初学者 我已经为该服务制定了基本框架 目前正在这样做 protected override void OnStart string args base OnStart args Process Start
  • 切换到任何 CPU 配置后,Win 服务项目将无法构建

    我正在尝试找到解决我的问题的方法 将我的 net 4 0 C Win Service 项目更改为 Any CPU Release 构建配置后 我收到以下编译时错误 Cannot specify main if building a modu
  • 动态模块未定义init函数(PyInit_fuzzy)

    我正在使用Python3 4 我正在尝试安装模糊模块 https pypi python org pypi Fuzzy 由于提到它仅适用于 Python2 因此我尝试使用 cython 对其进行转换 这些是我遵循的步骤 cython 模糊