2010-10-28 81 views

回答

2

SO搜索,你會發現充分的討論。

[編輯:基於註釋下]

當你運行setup.py在Windows上安裝,distutils來查找vcvarsall.bat運行。

關於vcvarsall.bat

VCVarsall.bat在Visual Studio Visual Studio命令提示符工具。它允許您爲集成開發環境(IDE)設置各種選項,以及從命令行構建,調試和部署項目。

如果沒有找到這個文件什麼

Solution 1: Hunt the file

  1. 的distutils有vcvarsall.bat的硬編碼路徑。
  2. 找到以vc * .bat或vc * .cmd開頭的文件。爲MS編譯器工具鏈設置命令行環境的文件。該位置對於不同版本的Visual Studio安裝程序不一致。如果你正在運行32位版本,那麼你應該能夠找到vcvars32.bat。
  3. 將其放在distutils期望的目錄中。
+0

不幸的是基於MinGW的解決方案不能工作。據我所知,VC2008是必要的。這不適合我。 – DSblizzard 2010-10-28 12:27:52

+0

Python 2,7建於VC 2008,但OP說他有Visual Studio 7.1,它沒有'vcvarsall.bat'。 'distutils'試圖使用Python本身的相同編譯器來構建擴展。有一種方法可以覆蓋它,但它不適用於我試圖安裝的擴展。我正在考慮但尚未嘗試的一種可能的解決方案是下載並安裝免費的[Visual Studio Express 2008 SP1](http://www.microsoft.com/downloads/en/details.aspx?FamilyId= F3FBB04E-92C2-4701-B4BA-92E26E408569&displaylang = en)版本,然後重試。 – martineau 2010-11-09 19:19:21

+0

@martineau:您的擴展應該使用與編譯python相同的編譯器進行編譯。否則,問題太多了。是的,使用免費版本是個好主意。通常情況下,你應該找到vcvarsall.bat。 MS經常改變這種方法! – pyfunc 2010-11-09 19:42:07