我想在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 ++。但我不知道该怎么做。
答案 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