我正在Windows上编译64位扩展,遵循Windows 编译64位扩展模块的指示。
我想要编写这个脚本,所以我不必每次打开Windows SDK Command Shell,所以我有一个batch file:
setlocal EnabledDelayedExpansion CALL "C:Program FilesMicrosoft SDKsWindowsv7.0BinSetEnv.cmd" /x64 /release set disTUTILS_USE_SDK=1 pathtopython.exe pathtosetup.py bdist --format=msi
但是,我得到这些错误。 如何让cl.exe重新回到path上?
Could not locate executable cl.exe Executable cl.exe does not exist
公平的警告,我不太了解在Windows上构build扩展,所以如果有这个问题的话,build议一个更好的方法。
避免从locking构build目录的东西中清除失败(并因此构build)
我可以设置Gradle和Maven在Windows中%userprofile%在其他目录中安装本地回购站吗?
在Windows 2008 R2 Standard上使用Java ProcessBuilder存在一个奇怪的问题
The x64 compilers are not currently installed. Please go to Add/Remove Programs to update your installation. . Setting SDK environment relative to C:Program FilesMicrosoft SDKsWindowsv7.0 . The system cannot find the batch label specified - Set_x64
然后有一些错误,我使用基于系统path的各种命令(例如,subprocess调用git,它无法findgit)。
CL.exe安装在C:Program Files (x86)Microsoft Visual Studio 9.0VCBinamd64cl.exe 。 如果我只是通过快捷方式打开Windows SDK Cmd Shell,并从这里安装通常的方式,它被发现。
在Windows上为Python 2.7构buildlxml
linux构build系统工具
指定编译器NVCC用来编译主机代码
Windows上的Hadoop构build/安装错误
为了后代的缘故。 这按预期工作。 但是,我的批处理文件中存在拼写错误。 如果您替换第一行
setlocal EnableDelayedExpansion
一切都按预期工作。 问题是那个!路径! 在SetEnv.cmd中未正确展开。
我对这个问题的解决方案是使用Python脚本 – 对于我来说比Windows批处理脚本更容易。 您可以使用子进程模块来调用其他程序,除非您明确地更改它们,否则将保持环境变量不变。
顺便说一句, Cython不是编译Python到EXE文件的唯一方法。 你也可以使用像cz_freeze这样的工具,如果你不需要Cython的其他特性的话,我觉得它更容易一些。
如果Visual Studio安装在您的系统中,请在您的批处理脚本中添加一个步骤以运行vcvarsall.bat 。 例如,如果安装了Visual Studio 2010,该批处理文件应该存在于
"C:Program Files (x86)Microsoft Visual Studio 10.0VCvcvarsall.bat",
或者哪个驱动器已经安装了Visual Studio,前提是您没有覆盖默认的安装位置。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。