python - 导入 cythonized 代码时出现错误“动态模块未定义模块导出功能”
问题描述
我一直在尝试导入 .pyd 文件,但每次错误不断出现:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dynamic module does not define module export function (PyInit_myfile)
通过许多帖子研究了可能几个小时,我安装了 Visual Code,添加了环境变量,添加了 MinGw,为 setup.py 尝试了许多不同的参数。我在一些帖子中发现 python 的 cython 版本是强制的,所以我什至安装了 cython 的源代码以删除任何版本依赖项。仍然没有区别。
我已经阅读了阅读以更改/添加 distutils.cfg(设置为 mingw:: 无效)的帖子以及大多数论坛上的几乎每一篇文章。还有 gcc 编译器[这又给了我一堆错误]
操作系统——Windows 10
蟒蛇——3.7.2
【MSVC、cython、mingw都安装好了】
安装程序.py::
from distutils.core import setup
from Cython.Build import cythonize
directives = {'linetrace': False, 'language_level': 3}
setup(ext_modules = cythonize('myfile.pyx'))
myfile.pyx OR myfile.py:: [我只是用一个简单的Hello world作为测试,真实文件太大]
这些是尝试过的不同流程:
1)
cython -3 myfile.py
cythonize -a -i myfile.py
2)python setup.py build_ext --inplace
也是通过删除 .cp37-win32 部分来更改输出文件的名称
解决方案
推荐阅读
- sql - 在 SQL Server 中创建日历表
- javascript - 用字符串构建一个新的 url
- regex - 如何编写具有子字符串匹配的正则表达式并排除另一个子字符串
- r - 使用两个嵌套的 foreach 并行循环,其中 foreach 是函数的一部分
- c# - 如何在虚拟文件夹中运行 ASP.NET MVC Core Web 应用程序
- python - Django 在 html 文件中使用视图响应
- linux - 如果满足条件,如何在重启后自动启动 Linux 服务?
- python - 为什么无法获得 title 属性?
- google-analytics - 如何将内容数据导入 Google Analytics?
- r - 在 dplyr 1.0.0 中运行缓慢的分组 tibble 中的 n_distinct