在Windows 7 32位上使用Python绑定安装Thrift

时间:2011-11-29 12:48:19

标签: python windows-7 cassandra thrift pycassa

我正在尝试在Windows 7上安装pycassa,一个Python中的Cassandra客户端。

正在运行pip install pycassa我收到以下错误消息:

error: unable to find vcvarsall.bat

深入挖掘,我发现Python无法安装thrift库和Python绑定。人们建议的一种方法是在Windows 7上安装C ++编译器,例如Visual Studio 2008 Expressmingw,并从源代码编译Thrift。

然而,我找到了online compiled version of Thrift。 有没有办法将Thrift的编译版本绑定到Python中,然后在pycassa中使用它?或者我是否必须从源代码编译thrift?

1 个答案:

答案 0 :(得分:3)

Thrift真的有两种(各种)组件:Thrift编译器,它生成给定接口的代码,然后是每语言库,它们为每种语言实现低级thrift协议和传输。 / p>

你几乎肯定不需要Thrift编译器,这是你链接到的。你需要Thrift python库; pip尝试将其安装为pycassa的依赖项。它破坏的原因是Thrift python库中包含一个C扩展,并且在安装过程中,它尝试编译它。为了使编译工作,你需要专门做一些事情。

如果您只是为了开发目的而这样做,可以手动下载最新的Thrift python library,删除src / protocol / fastbinary.c,然后从顶级目录运行'setup.py install' 。这比编译和安装扩展程序要慢,但是出于开发目的,它可以正常工作。此时你可以使用'pip install --no-deps pycassa',它不会尝试自动安装Thrift,只是pycassa。

如果您正在为生产执行此操作,则可能需要编译和安装C扩展。为此,您需要安装Visual C++ 2008 Express Edition,从SVN查看最新版本的Thrift,转到lib / py目录,然后在那里运行'setup.py install'。

相关问题