我試圖安裝Python軟件包dulwich : python
pip install dulwich
可是我收到了一個神祕的錯誤消息: ide
error: Unable to find vcvarsall.bat
若是我嘗試手動安裝軟件包,也會發生相同的狀況: 工具
> python setup.py install running build_ext building 'dulwich._objects' extension error: Unable to find vcvarsall.bat
我只是遇到了一樣的問題,因此我在這裏講述個人故事,但願它能夠幫助遇到一樣問題的其餘人,併爲他們節省幾個小時的時間: ui
我在Windows 7盒子中有mingw(g ++(GCC)4.6.1)和python 2.7.3,我正在嘗試安裝PyCrypto。 google
運行setup.py install時,全部錯誤均始於此錯誤: spa
error: Unable to find vcvarsall.bat
經過將mingw指定爲首選編譯器,能夠輕鬆地在搜索錯誤以後解決: code
setup.py install build --compiler=mingw32
問題是而後我獲得了另外一個錯誤: xml
configure: error: cannot run C compiled programs.
事實證實,個人防病毒軟件阻止了新編譯的.exe的執行。 我只是禁用了防病毒「居民防禦罩」,而後轉到下一個錯誤: ip
cc1.exe: error: unrecognized command line option '-mno-cygwin' error: command 'gcc' failed with exit status 1
解決了它:「要麼安裝稍舊版本的MinGW,要麼在Python目錄中編輯distutils \\ cygwinccompiler.py,以刪除-mno-cygwin的全部實例。」 (從這裏開始 ) get
如今,我終於能夠開始工做了。
更新 :評論指出此處的說明可能很危險。 考慮使用Visual C ++ 2008 Express版或專用於Python的Microsoft Visual C ++編譯器 ( 詳細信息 ),而不要使用下面的原始答案。 原始錯誤消息表示未安裝所需的Visual C ++版本。
對於Windows安裝:
在運行setup.py進行軟件包安裝時,Python 2.7搜索已安裝的Visual Studio2008。經過在調用setup.py
以前在VS90COMNTOOLS
環境變量中設置正確的路徑,能夠誘使Python使用更新的Visual Studio。
根據安裝的Visual Studio版本執行如下命令:
SET VS90COMNTOOLS=%VS100COMNTOOLS%
SET VS90COMNTOOLS=%VS110COMNTOOLS%
SET VS90COMNTOOLS=%VS120COMNTOOLS%
SET VS90COMNTOOLS=%VS140COMNTOOLS%
警告:以下所述,若是您嘗試編譯python模塊,此答案不太可能起做用。
有關詳細信息,請參見在Windows上爲Python 2.7構建lxml 。
我有python 2.73和Windows 7。對我有用的解決方案是:
C:\\programs\\mingw\\bin;
附加PATH C:\\programs\\mingw\\bin;
建立distutils.cfg位於C:\\Python27\\Lib\\distutils\\distutils.cfg
含有:
[build] compiler=mingw32
要處理MinGW再也不識別-mno-cygwin標誌的方法,請刪除C:\\ Python27 \\ Lib \\ distutils \\ cygwincompiler.py第322至326行中的標誌,所以以下所示:
self.set_executables(compiler='gcc -O -Wall', compiler_so='gcc -mdll -O -Wall', compiler_cxx='g++ -O -Wall', linker_exe='gcc', linker_so='%s %s %s' % (self.linker_dll, shared_option, entry_point))
也許有人會感興趣,如下對py2exe軟件包有用。 (我有Windows 7 64位和便攜式python 2.7,帶有適用於Windows 7和.NET Framework 4的Windows SDK的Visual Studio 2005 Express)
set VS90COMNTOOLS=%VS80COMNTOOLS%
而後:
python.exe setup.py install
若是您要在未安裝Visual Studio的Windows機器上安裝pyodbc, 則另外一個選擇是使用二進制發行版手動安裝pyodbc。
若是您在使用的計算機上沒有管理員特權並試圖設置virtualenv ,則此功能特別有用。
腳步:
[python installation directory or virtualenv]\\Lib\\site-packages