【问题标题】:Cython not working properly, and unable to diagnose the issueCython 无法正常工作,并且无法诊断问题
【发布时间】:2021-08-22 07:23:10
【问题描述】:

简而言之,我正在制作一个项目,我需要 Cython 才能使其工作。在 Windows 上安装 Cython 时,我已经阅读了每一行文档,并且完全按照上面所说的进行了操作。尽管如此,我仍然无法让 Cython 正常工作。当我导入模块时,一切正常。当我尝试从 .pyx 文件编译时出现问题。

C 文件生成得很好,但有两个问题。首先是无论出于何种原因,我都得到:

raise ValueError("Unknown MS Compiler Version 1929")

它并没有就此结束。当我尝试查找 pyd 文件时,会生成 0 个文件。目录中没有 pyd 文件。在使用 #include "Python.h" 的 C 文件中,它显示错误,并给出以下消息:

#include errors detected. Please update your includePath. IntelliSense features for this translation unit (C:\Users\...\Workspace\cython_test\example_py.c) will be provided by the Tag Parser.

我已尝试到处寻找解决此问题的方法,但绝对没有任何帮助...我尝试安装 MSVC,并在我的环境变量中正确设置 MinGW。我试过重启电脑,卸载并重新安装 Python、MinGW、VSCode,甚至尝试查看文档寻找解决方法,但均无济于事。

【问题讨论】:

  • 我并没有真正的解决方案,但是:1) 你肯定不想尝试使用 MinGW - 对于最新版本的 Python,你必须编译你的扩展Windows 上带有 MSVC 的模块。不要浪费更多时间来设置 MinGW。 2)你应该告诉我们你是如何编译它的?您是在使用 setup.py 文件还是在命令行上手动调用编译器。 3)(如果使用 setup.py)尝试导入 setuptools(首先) - 它有时会比 distutils 管理的更好。
  • 我终于解决了这个问题。 Cython 文档告诉您通过添加到 disutils.py 来使用 MinGW 作为编译器,然后还告诉您,如果您希望能够编译 C++ 和 C 文件,则需要下载 Visual Studio C++。它链接到错误版本的 Windows SDK 以供下载。

标签: python visual-studio-code cython vscode-settings cythonize


【解决方案1】:

我终于解决了这个问题。 Cython 文档为 Windows 推荐了错误的编译器和 SDK 框架。当您想要编译 Cython 文件时,您需要通过 Visual Studio Build Tools 下载 SDK。只有这样,您才能为 Cython 编译和构建...

【讨论】:

    猜你喜欢
    • 2018-12-27
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-03
    • 2019-12-23
    • 2011-06-28
    • 1970-01-01
    相关资源
    最近更新 更多