簡體   English   中英

在Windows 7 32位上使用Python綁定安裝Thrift

[英]Installing Thrift with Python bindings on Windows 7 32-bit

我正在嘗試在Windows 7上安裝Python中的Cassandra客戶端pycassa

運行pip install pycassa我收到此錯誤消息:

error: unable to find vcvarsall.bat

深入研究,我發現Python無法安裝thrift庫和Python綁定。 人們建議的一種方法是在Windows 7上安裝C ++編譯器(如Visual Studio 2008 Expressmingw) ,並從源代碼編譯Thrift。

但是,我找到了Thrift在線編譯版本 有沒有辦法將Thrift的編譯版本綁定到Python,然后在pycassa中使用它? 或者我是否必須從源代碼編譯節儉?

Thrift實際上有兩個(種類)組件:有一個Thrift編譯器,該編譯器在給定接口的情況下生成代碼,然后有每個語言的庫,它們實現了低級的Thrift協議並為每種語言進行傳輸。

幾乎可以肯定,您不需要鏈接到Thrift編譯器。 確實需要Thrift python庫; pip嘗試將其安裝為pycassa的依賴項。 它破壞的原因是Thrift python庫中包含一個C擴展,並且在安裝過程中,它嘗試編譯它。 為了使編譯工作正常進行,您需要專門做一些事情。

如果您只是出於開發目的而這樣做,則可以手動下載最新的Thrift python庫 ,刪除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'。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM