1. 程式人生 > >windows install cython error: "unable to find vcvarsall.bat"

windows install cython error: "unable to find vcvarsall.bat"

cython作為python的超集,可以同時編譯python和C的程式碼,檔案字尾名為pyx,編譯後匯出pyd檔案(windows環境)或者是so檔案(類unix環境)。具體流程主要為:
1. 將pyx的程式碼編譯成.C檔案;
2. 利用系統的C編譯器將.C檔案轉換成.pyd或.so檔案;

在windows下安裝cython的時候有時候會出現:

… unable to find vcvarsall.bat …

這個說明編譯器未裝或是環境變數未配置好,可以安裝visual studio或者mingw。

1. Visual Studio 編譯

安裝完VS後需要設定環境變數:

Visual Studio 2010 (VS10)設定 VS90COMNTOOLS=%VS100COMNTOOLS%
Visual Studio 2012 (VS11)設定 VS90COMNTOOLS=%VS110COMNTOOLS%
Visual Studio 2013 (VS12)設定 VS90COMNTOOLS=%VS120COMNTOOLS%
來源:http://www.oschina.net/question/2294527_244245

2. minGW 編譯

首先從官網下載minGW,下載下來的是一個minGW installer manager包管理器。
這裡寫圖片描述

主要安裝MinGW Base System下的mingw32-base,選中後點確定安裝。
這裡寫圖片描述

安裝路徑預設在C:\MinGW,需要將C:\MinGW\bin的可執行檔案路徑新增到系統環境變數Path中。
在cmd命令列中輸入gcc –version確認安裝
這裡寫圖片描述

最後將python distuils的預設編譯器從微軟的msvc切換成mingw32:
新建一個名為distutils.cfg的配置檔案,檔案內容如下,並儲存到python distutil的包目錄下,以編者安裝的64位anaconda為例,該路徑為:

D:\anaconda64\Lib\distutils

[build]
compiler = mingw32