gpt4 book ai didi

python - 选择 `distutils.setup(...)` 中的 Visual Studio 版本

转载 作者:行者123 更新时间:2023-12-05 05:15:04 28 4
gpt4 key购买 nike

我正在尝试通过他们的 Python API 为 Blender 构建一个简单的 C++ 扩展模块,最新版本是 3.5.3(据我所知,这是无法更改的)。 Python 3.5.3 使用 MSC v.1800(即 Visual Studio 2013 版本 12.0)编译。

我同时安装了 Visual Studio 2013 和 Visual Studio 2017。运行时 distutils.setup(...)在我的扩展“setup.py”中,它总是只找到 Visual Studio 2017,导致构建失败(一个必须将 Visual Studio 版本与 Python 版本匹配 [1] ).

如何说服 distutils.setup(...) 找到与正在运行的 Python 对应的 Visual Studio?

我尝试将 Visual Studio 2013 路径添加到 PATH 中,但它什么也没做。我还深入研究了“Lib/distutils/”以试图找出答案,但没能找到(看起来它是基于注册表的,而不是基于PATH)。


[1] 否则,会出现神秘的未记录错误 LNK1327: failure during running rc.exe。这是整个错误,尽管它之前还有一个小警告,which is apparently normal .

最佳答案

以下代码设置了两个环境变量,这两个环境变量被(模糊地)记录为编译器检测失败时的回退。

然后,我们调用“vcvarsall.bat”。 Python 显然需要 8.1 Windows SDK,并且只有 Visual Studio 2017 版本的“vcvarsall.bat”支持它。因此,我们调用 2017 版本,但通过 -vcvars_ver=12.0 设置为 2013。

SET MSSdk=1
SET DISTUTILS_USE_SDK=1
call "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/vcvarsall.bat" amd64 8.1 -vcvars_ver=12.0

然后,您可以运行:

python35.exe setup.py build

关于python - 选择 `distutils.setup(...)` 中的 Visual Studio 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51976015/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com