"error: Unable to find vcvarsall.bat" when compiling Cython code

"error: Unable to find vcvarsall.bat" when compiling Cython code

按照建议here, I have succesfully installed Microsoft Visual C++ Compiler for Python 2.7编译一些 Cython 代码,但是:

from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules = cythonize("module1.pyx"))

仍然产生:

error: Unable to find vcvarsall.bat

如何使用 Python 2.7 编译 Cython 代码(例如在 Windows 7 x64 上)?

注:问题error: Unable to find vcvarsall.bat我已经仔细看了,主要答案(包括修改msvc9compiler.py)都没有解决

我在这上面花了好几个小时,而且在 error: Unable to find vcvarsall.bat 中不容易找到这些信息,这就是为什么我 post 在这里 "answer your own question" 的原因:

  • 第 1 步:安装 Microsoft Visual C++ Compiler for Python 2.7

  • 备注:您不需要修改msvc9compiler.py,因为许多论坛经常建议posts

  • 第 2 步:只需添加 import setuptools 即可帮助 Python 和 "Microsoft Visual C++ Compiler for Python 2.7" 协同工作。

    import setuptools  # important
    from distutils.core import setup
    from Cython.Build import cythonize
    setup(ext_modules=cythonize("module1.pyx", build_dir="build"),
                                               script_args=['build'], 
                                               options={'build':{'build_lib':'.'}})
    

    注意:script_args 参数允许 运行 这个 setup.py 只需要 python setup.py(即在你最喜欢的编辑器如 Sublime Text 中按 CTRL+B) 像这样:python setup.py build.

有效!

Python >= 3.5

我想对@Basj 发表评论 () answer but I couldn't so I apologize. I just want to add to @Basj answer for people using Python >= 3.5, instead of Microsoft Visual C++ Compiler for Python 2.7, you can install just the C++ in this installer Build Tool for Visual Studio 2019 or you can simply install that with Chocolatey