2014-03-01 30 views
1

我想安裝Boost Python,但http://www.boost.org/doc/libs/1_55_0/libs/python/doc/tutorial/doc/html/python/hello.html對我來說太壓縮了。我從Linux切換到Windows,設置所有技術的東西讓我瘋狂:)在Windows 8.1上安裝Boost Python,正確設置工具鏈

因此,當我按照說明http://www.boost.org/doc/libs/1_55_0/more/getting_started/windows.html#prepare-to-use-a-boost-library-binary並嘗試執行bootstrap.bat它抱怨缺少VCVARS32.BAT,它不認可「cl」命令 - 但是我同時安裝了MS VS Express 2012和2013,兩個升級版本(32,64)都安裝在C:/ local /目錄下,文檔說這兩個都可以工作。那爲什麼它找不到編譯器?

更新:所以http://msdn.microsoft.com/en-us/library/9s7c9wdw%28v=vs.110%29.aspx說你不能在命令行中使用編譯器......那麼我該如何構建我的bjam?這必須是完全微不足道的和愚蠢的...:/

更新:好的,更進一步。 vcvars32.bat實際上設置了所有的環境變量,所以我現在可以調用命令行編譯器!也有實際上從官方提升站點http://sourceforge.net/projects/boost/files/預構建的bjam二進制文件,我得到它並將其複製到boost_xxx/tools文件夾並將該站點添加到路徑,所以我可以從命令行調用bjam。 接下來,我把一個用戶config.jam中在我的主文件夾,它只是說:

# MSVC configuration 
using msvc : 11.0 ; 

# Python configuration 
using python : : C:/Users/me/Anaconda ; 

在提供與C Jamroot中的文件:\本地\ boost_1_55_0 \庫\ python的\例子\教程中,我只是編輯

use-project boost 
: C:/local/boost_1_55_0 ; 

然後我打電話的bjam來自這給我一些神祕的輸出

C:\local\boost_1_55_0\libs\python\example\tutorial>bjam 
warning: mismatched versions of Boost.Build engine and core 
warning: Boost.Build engine (bjam) is 03.1.18 
warning: Boost.Build core (at C:/local/boost_1_55_0/tools/build/v2) is 2011.12-s 
vn 
link.jam: No such file or directory 
C:/local/boost_1_55_0/tools/build/v2/util\path.jam:458: in path.makedirs 
rule MAKEDIR unknown in module path. 
C:/local/boost_1_55_0/tools/build/v2/build\configure.jam:233: in configure.set-l 
og-file 
C:/local/boost_1_55_0/tools/build/v2\build-system.jam:695: in load 
C:\local\boost_1_55_0\libs\python\example\..\..\..\tools\build\v2/kernel\modules 
.jam:289: in import 
C:\local\boost_1_55_0\libs\python\example\..\..\..\tools\build\v2\kernel\bootstr 
ap.jam:139: in boost-build 
C:\local\boost_1_55_0\libs\python\example\boost-build.jam:7: in module scope 

C:\local\boost_1_55_0\libs\python\example\tutorial> 

現在非常相同的目錄,你可以給我任何提示,以什麼地方出了錯,在哪裏何去何從?我真的想要boost.python的一個穩定,健壯的工作副本 - 如果我需要一起破解某些東西,對我來說沒有意義。我認爲這是相當標準/可靠的,是不是有像「boost.python爲沒有學習計算機科學的人」之類的東西?我可以忽略警告嗎?

回答

3

也許你可以使用二進制從http://www.lfd.uci.edu/~gohlke/pythonlibs/#boost.python

關於你的編譯器的問題:有一堆的SO已經在此問題。基本上,你需要的編譯器取決於你的python版本。您可能需要安裝一些Windows SDK並手動設置一些內容。對我來說,這一直是一個痛苦的事情,最後你可能會更喜歡使用像Canopy這樣的python發行版(還有一些其他的python發行版)。

+0

謝謝,我用boost官方的官方二進制安裝程序,與這些預裝發行版的問題是,在某些時候,你需要的東西,他們不包括和你擰:(我的意思是它不能這樣很難得到一個命令行編譯器在Windows上工作可以嗎^^。我想要確切地知道那種痛苦的屁股的東西一次;)必須有一個易於理解的教程等,我只是無法找到它然而......我的意思是它令人難以置信,那就是msdn上沒有一步一步介紹! – Jack

+0

@ user2900072:二進制安裝程序無法爲您提供所需的編譯器,因爲它不是放棄它們 - 您必須自己獲取它。每個版本的Python都是用特定版本的MS編譯器構建的。對於版本2.x,您以前可以免費獲得Visual C++ 2008 Express Edition - 但MS不會再分發它,所以除非您已經擁有它,否則您遇到了問題。可以使用非MS編譯器,比如Cygwin的gcc。這是有效的,因爲它們不使用MS C/C++運行時,所以混合兩個不同版本時會產生衝突。 – martineau

+0

@ user2900072:可能還有一個MS SDK,你仍然可以得到,看問題[Visual C++ 2008 Express下載鏈接死?](http://stackoverflow.com/questions/15318560/visual-c-2008-express-download-鏈接死)。 – martineau