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

在32位Windows 7上安装Thrift和Python绑定,python,windows-7,cassandra,thrift,pycassa,Python,Windows 7,Cassandra,Thrift,Pycassa,我正试图在Windows7上安装Python中的Cassandra客户端 运行pip install pycassa时,我收到以下错误消息: error: unable to find vcvarsall.bat 深入挖掘,我发现Python未能安装thrift库和Python绑定。人们建议安装一个C++编译器,比如Windows 7,并从源编译节约。 然而,我发现了一个问题。 有没有办法将Thrift的编译版本绑定到Python中,然后在pycassa中使用?还是我必须从源代码处编译thri

我正试图在Windows7上安装Python中的Cassandra客户端

运行
pip install pycassa
时,我收到以下错误消息:

error: unable to find vcvarsall.bat
深入挖掘,我发现Python未能安装thrift库和Python绑定。人们建议安装一个C++编译器,比如Windows 7,并从源编译节约。 然而,我发现了一个问题。 有没有办法将Thrift的编译版本绑定到Python中,然后在pycassa中使用?还是我必须从源代码处编译thrift?

thrift实际上有两种组件:thrift编译器,它生成给定接口的代码,然后是每种语言的库,它为每种语言实现低级thrift协议和传输

您几乎可以肯定不需要Thrift编译器,这是您链接到的。您确实需要Thrift python库;pip尝试将其作为pycassa的依赖项安装。它崩溃的原因是Thrift python库中包含了一个C扩展,在安装过程中,它试图编译该扩展。为了使编译工作正常,您需要专门做一些事情

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


如果您是为了生产而这样做的,您可能希望编译并安装C扩展。要做到这一点,您需要安装,从SVN查看Thrift的最新版本,转到lib/py目录,并在那里运行“setup.py install”。

非常感谢Tyler。我还需要从setup.py中删除fastbinary扩展名,但除此之外,它还可以正常工作。啊,是的,我忘了包括它。谢谢你提到那件事。