【问题标题】:Building python module with Visual Studio 2012 and setup.py?使用 Visual Studio 2012 和 setup.py 构建 python 模块?
【发布时间】:2014-10-01 07:23:15
【问题描述】:

我已经安装了 Visual Studio 2012,并且正在尝试构建我的 C Python 模块,该模块具有 setup.py。我是该模块的作者,可在此处找到:https://github.com/patrickkidd/pyrtmidi。这对 Python 3.4 可行吗?我已经离开 Python 世界好几年了。

谢谢!

【问题讨论】:

  • 我会补充一点,我在 Python-3.4.1 和 Visual Studio 2012 Ultimate 中遇到此错误:错误:无法找到 vcvarsall.bat。这是使用 Visual Studio 开发人员命令提示符。
  • 这是这个问题的一个很好的贯穿:stackoverflow.com/questions/11267463/…

标签: python visual-studio visual-studio-2012 python-3.x


【解决方案1】:

你需要编译扩展with the same version of MSVC that CPython itself is using。如果可以make it work with the corresponding version of toolchain,则与您使用的VS版本无关。

Building C and C++ Extensions on Windows docs 章节有关于具体细节的分步说明。

【讨论】:

  • 那么最后一个链接的意思是说最新版本的python(3.4.1)是用Visual Studio 2010构建的吗?还是有另一种方法可以找出特定版本的 Python 是用什么版本的 VS 构建的?设置首选工具链的链接仅适用于设置特定项目/解决方案,但我找不到 VS 2012 的全局设置。然后,一旦我设置了正确的工具链,它会解决这个错误:“找不到 vcvarsall.bat”?
  • 评论中的链接回答了你的第一个问题。 “无法找到 vcvarsall.bat”在 distutils 逻辑中,你说你要用 VS 构建(但无论如何,有一个详尽的解释 @stackoverflow.com/q/6551724/648265 和,4 x64,@stackoverflow.com/a/18045219/648265)SDK 似乎是只要 _MSC_VER 是连贯的,就可以作为 VS 使用。
  • 我正在尝试从命令行构建,但无论如何我认为我们对此进行了足够多的尝试,以至于此页面为下一个正在寻找此答案的人提供了答案。有趣的是,多年来我在谷歌上搜索了多少次相同问题的答案,答案总是一样的,但随着 Python 和 VS 版本的进步,细节略有变化。干杯,伊万。
【解决方案2】:

感谢 Ivan 的提示。

这是这个问题的一个很好的贯穿:Compiling Python modules on Windows x64

这应该是使用 VS 2010 工具链的 Python-3.4.1 的正确编译器(请注意“详细信息”选项卡中的 SDK 版本 7.1):http://www.microsoft.com/en-us/download/details.aspx?id=8279

【讨论】:

    猜你喜欢
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多