当前位置: 首页 > 面试题库 >

编译Cython代码时出现“错误:无法找到vcvarsall.bat”

曾德水
2023-03-14
问题内容

作为建议在这里,我已成功安装了微软的Visual C ++编译器为Python
2.7
编译一些用Cython代码,但是:

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

仍然产生:

错误:找不到vcvarsall.bat

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

注意:我已经仔细阅读了以下错误问题:找不到vcvarsall.bat,但是主要答案(包括修改msvc9compiler.py)都无法解决。


问题答案:

我花了几个小时在此上,并且很难轻易找到错误信息:无法找到vcvarsall.bat,这就是为什么我在此处使用“回答您自己的问题”功能将其发布的原因:

  • 步骤1:安装适用于Python 2.7的Microsoft Visual C ++编译

  • 备注:您 不需要msvc9compiler.py按照许多论坛帖子中经常建议的那样进行修改

  • 步骤2:只需添加import setuptools将有助于Python和“ Python 2.7的Microsoft Visual C ++编译器”一起工作。

    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)运行,而不必传递如下命令行参数:pythonsetup.py build

有用!



 类似资料:
  • 问题内容: 以下代码给出了编译器错误 有时出于测试目的,希望防止某个方法被调用,因此一种快速执行此方法(而不是在使用 该方法的位置处将其注释掉)的方法是立即从该方法返回,以便该方法不执行任何操作。然后,我总是做些什么来解决编译器错误,这是 我很好奇,为什么会出现编译器错误?它会以某种方式破坏Java字节码,是为了保护程序员还是其他? 同样(这对我来说更有趣),如果将Java编译为字节码可以进行任何

  • 问题内容: 当以下Java代码在eclipse中执行时,它会提供正确的输出(即打印“ Class B”),但是根据Java规范,该代码无法编译(因为超类构造函数需要一个参数,并且构造函数由B类的编译器包括对超类no arg构造函数的调用(未定义),并且当尝试在命令行中使用javac命令编译文件时,它仅编译超类(即A类),并因以下编译而失败错误: 以下是java文件的内容: 有人可以解释eclips

  • * *我正在使用JSP、JavaServlet和Hibernate开发一个电子商务应用程序。执行此代码时出现以下错误。我得到了这个错误需要帮助调试它**

  • 我有一个爪哇项目。它由以下层次结构组成: 项目: < li >服务器(包含server.java) < li >客户端(包含client.java) < li >协议(包含中的消息类型。java文件) 我正在用Eclipse运行这个项目。我已经到了需要用终端测试的地步。我如何使用 build.xml 文件来格式化它,以便每当我将其从 Eclipse 中取出并在服务器中运行时,它都能正常工作,但在上

  • 我当前正在获取和生成失败的错误。尝试卸载android Studio,卸载并重新安装java,但无效。谢谢你的建议。非常感谢。 失败:生成失败,出现异常。 > 出了什么问题:任务执行失败:app: greendao。 <区块报价> 在解析/xxx/android/app/src/main/java/com/eatsy/打印机/Printer.java时发现4个问题。第一个问题:Pb(324)无法解

  • null 无法定位tools.jar。应该在/usr/lib/jvm/java-7-openjdk-amd64/lib/tools.jar中找到它 buildfile:/home/taylor/desktop/java/tcp/build.xml 构建-子项目: