在Windows 8.1上安装Boost Python,正确设置工具链
我正在尝试安装Boost Python,不过这个链接的内容对我来说太复杂了。我刚从Linux转到Windows,设置这些技术东西让我快疯了 :)
所以当我按照这个链接的说明去做,尝试执行bootstrap.bat时,它抱怨找不到VCVARS32.BAT,并且不识别“cl”这个命令。其实我已经安装了MS VS Express 2012和2013,而且在C:/local/下也安装了两个版本的boost(32位和64位),文档上说这两个都应该能用。那为什么它找不到编译器呢?
更新:所以这个链接说你不能从命令行使用编译器……那我该怎么构建我的bjam呢?这一定是个非常简单又愚蠢的问题…… :/
更新:好吧,进展了一步。vcvars32.bat实际上设置了所有的环境变量,这样我现在可以调用命令行编译器了!而且在官方boost网站上其实有预编译的bjam二进制文件,这个链接我下载了并把它复制到我的boost_xxx/tools文件夹里,还把这个路径加到了环境变量中,这样我也可以从命令行调用bjam了。接下来我在我的主文件夹里放了一个user-config.jam,里面只写了:
# MSVC configuration
using msvc : 11.0 ;
# Python configuration
using python : : C:/Users/me/Anaconda ;
在C:\local\boost_1_55_0\libs\python\example\tutorial提供的Jamroot文件中,我只编辑了
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”吗?我可以忽略那些警告吗?
1 个回答
也许你可以去这个网站下载二进制文件:http://www.lfd.uci.edu/~gohlke/pythonlibs/#boost.python
关于你遇到的编译器问题:在StackOverflow上已经有很多相关的问题了。简单来说,你需要的编译器取决于你使用的Python版本。你可能需要安装一些Windows SDK,并手动设置一些东西。对我来说,这一直都是个麻烦事,最后你可能会发现使用一些Python的发行版,比如Canopy(还有其他一些类似的)会更好。