在Windows 8.1上安装Boost Python,正确设置工具链

Installing Boost Python on Windows 8.1, Setting up the toolchain correctly

本文关键字:设置 工具 Python Boost Windows 安装      更新时间:2023-10-16

我正在尝试安装Boost Pythonhttp://www.boost.org/doc/libs/1_55_0/libs/python/doc/tutorial/doc/html/python/hello.html对我来说太压缩了。我正在从Linux切换到Windows,设置所有的技术内容让我抓狂:)

所以当我按照指示http://www.boost.org/doc/libs/1_55_0/more/getting_started/windows.html#prepare-使用一个boost-library-binary并尝试执行bootstrap.bat,它抱怨缺少VCVARS32.bat,并且它无法识别"cl"命令-然而,我已经安装了MS VS Express 2012和2013,两个boost版本(32、64)都安装在C:\local/中,文档说两者都应该工作。那么,为什么它找不到编译器呢?

更新:所以http://msdn.microsoft.com/en-us/library/9s7c9wdw%28v=vs.110%29.aspx表示不能从命令行使用编译器。。。那么我该如何构建我的bjam呢?这一定是一件非常琐碎和愚蠢的事情…:/

更新:好的,更进一步。vcvars32.bat实际上将所有环境变量都设置为go,所以我现在可以调用命令行编译器了!此外,实际上还有来自官方boost网站的bjam的预构建二进制文件http://sourceforge.net/projects/boost/files/,我得到了它,并将它复制到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:localboost_1_55_0libspythonexampletutorial>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/utilpath.jam:458: in path.makedirs
rule MAKEDIR unknown in module path.
C:/local/boost_1_55_0/tools/build/v2/buildconfigure.jam:233: in configure.set-l
og-file
C:/local/boost_1_55_0/tools/build/v2build-system.jam:695: in load
C:localboost_1_55_0libspythonexample......toolsbuildv2/kernelmodules
.jam:289: in import
C:localboost_1_55_0libspythonexample......toolsbuildv2kernelbootstr
ap.jam:139: in boost-build
C:localboost_1_55_0libspythonexampleboost-build.jam:7: in module scope
C:localboost_1_55_0libspythonexampletutorial>

现在,你能告诉我出了什么问题,接下来该怎么办吗?我真的想要一个稳定、健壮的boost.python工作副本——如果我需要一起破解一些东西,这对我来说没有意义。我觉得它很标准/可靠,难道没有像"boost.python适合那些不学习计算机科学的人"这样的东西吗?我可以忽略这些警告吗?

也许您可以使用http://www.lfd.uci.edu/~gohlke/pythonlibs/#boost.python

关于你的编译器问题:SO上已经有很多关于这个的问题了。基本上,您需要的编译器取决于您的python版本。您可能需要安装一些Windows SDK并手动设置一些内容。对我来说,这一直是一件令人头疼的事,最终你可能会更好地使用像Canopy这样的python分布(还有其他一些)。