编译Cython文件时出错

时间:2017-05-03 05:25:31

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

我想在Windows 7上编译我的Cython文件

python mySetup.py build_ext --inplace

但收到错误

  

运行build_ext   建立'sumrange_Cython'扩展   C:\ Program Files(x86)\ Microsoft Visual Studio \ Shared \ 14.0 \ VC \ bin \ cl.exe / c / nologo / Ox / W3 / GL / DNDEBUG / MD -IC:\ Users \ Artem \ AppData \ Local \ Programs \ Python \ Python36-32 \ include -IC:\ Users \ Artem \ AppData \ Local \ Programs \ Python \ Python36-32 \ include /Tcsumrange_Cython.c /Fobuild\temp.win32-3.6\Release\sumrange_Cython.obj   sumrange_Cython.c   c:\ users \ Artem \ appdata \ local \ programs \ python \ python36-32 \ include \ pyconfig.h(59):致命错误C1083:无法打开包含文件:'io.h':没有这样的文件或目录   错误:命令C:\ Program Files(x86)\ Microsoft Visual Studio \ Shared \ 14.0 \ VC \ bin \ cl.exe'失败,退出状态为2

似乎问题出现在编译器中。我启动了位于“C:\ Program Files(x86)\ Microsoft Visual Studio \ Shared \ 14.0 \ VC \”的实用程序

vcvarsall x86

为了设置pathes,但它也失败并出现错误

  

脚本使用错误。正确的用法是:       vcvarsall [选项]或       vcvarsall [选项]存储或       vcvarsall [选项] [版本号]或       vcvarsall [option] store [版本号],其中[option]为:x86 | amd64 |手臂| x86_amd64 | x86_arm | amd64_x86 | amd64_arm在哪里   [版本号]是完整的Windows 10 SDK版本号或   “8.1”使用windows 8.1 SDK:商店参数集   环境变量来支持商店(而不是桌面)   发展。 : 例如:       vcvarsall x86_amd64       vcvarsall x86_arm存储       vcvarsall x86_amd64 10.0.10240.0       vcvarsall x86_arm存储10.0.10240.0       vcvarsall x64 8.1       vcvarsall x64 store 8.1:请确保安装了Visual Studio或C ++ Build SKU。

其他人已经问过这个问题,但答案仍然没有 python pip on Windows - command 'cl.exe' failed

解决问题的另一种方法可能是在调用python时定义另一个编译器的路径而不是Visual C ++。但我不知道该怎么做。

1 个答案:

答案 0 :(得分:2)

更新:请查看此博客文章,以获得精彩的演练:https://andysalerno.com/Compiling-Python

我不确定为什么但是Path似乎没有更新。这可能是视觉工作室2017预览功能。

cl.exe位于C:\ Program Files(x86)\ Microsoft Visual Studio \ Preview \ Professional \ VC \ Tools \ MSVC \ 14.10.25017 \ bin {host} {architecture} \

尝试从“developer Studio 2017预览版的开发者命令提示符”运行命令,因为它知道这条路径。

编辑: 如果您收到错误消息“致命错误LNK1112:模块机器类型'x64'与目标机器类型'x86'冲突”,您需要检查一下: https://msdn.microsoft.com/en-us/library/x4d2c09s.aspx?f=255&MSPPError=-2147217396 vcvarsall.bat在这里回顾:C:\ Program Files(x86)\ Microsoft Visual Studio \ Preview \ Professional \ VC \ Auxiliary \ Build