我目前在Windows上構建64位擴展,遵循Compiling 64-bit extension modules on Windows中的說明。使用Windows SDK構建Python包的批處理腳本
我想這個劇本,所以我不必打開Windows SDK命令外殼我想這樣做,每一次,所以我有一個批處理文件:
setlocal EnabledDelayedExpansion
CALL "C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\SetEnv.cmd" /x64 /release
set DISTUTILS_USE_SDK=1
\path\to\python.exe \path\to\setup.py bdist --format=msi
不過,我得到這些錯誤。如何將cl.exe
重新放回路徑上?
Could not locate executable cl.exe
Executable cl.exe does not exist
公平的警告,我知之甚少在Windows上建立擴展正如從這個職位,所以請提出一個更好的方式,如果有一個。
編輯:對SetEnv.cmd的原始調用確實會引發錯誤。
The x64 compilers are not currently installed.
Please go to Add/Remove Programs to update your installation.
.
Setting SDK environment relative to C:\Program Files\Microsoft SDKs\Windows\v7.0
.
The system cannot find the batch label specified - Set_x64
有那麼許多命令一些錯誤,我使用基於該系統路徑(例如,子進程調用的git它不能找到GIT)。
CL.exe安裝在這裏C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\Bin\amd64\cl.exe
。如果我只是通過快捷方式打開Windows SDK Cmd Shell並從這裏安裝通常的方式,就可以找到它。
你是如何從一開始就把它從路上帶走的? – 2012-04-10 16:06:59
我沒有把它從路上取下來。它在批處理文件環境的路徑中不可用。我認爲這是通過對SetEnv.cmd的調用發生的。當運行Windows SDK Command Shell時,它會使用/ K選項調用CMD.exe,我懷疑這與它有關。我不知道如何在批處理文件中複製這樣的行爲。 – jseabold 2012-04-10 16:12:24
克里斯多弗,我編輯了一些更多的信息的原始帖子。 – jseabold 2012-04-10 17:36:13