В Thrift действительно есть два (вида) компонента: есть компилятор Thrift, который генерирует код с заданным интерфейсом, а затем есть библиотеки для каждого языка, которые реализуют низкоуровневые протоколы Thrift и транспорты для каждого языка.
Вы почти наверняка не нуждаетесь в компиляторе Thrift, на который вы ссылались. Вам нужно нужна библиотека питонов Thrift; pip пытается установить это как зависимость для pycassa. Причина, по которой он ломается, заключается в том, что есть расширение C, которое включено в библиотеку Python Thrift, и в процессе установки оно пытается это скомпилировать. Чтобы компиляция работала, вам нужно сделать несколько вещей специально.
Если вы просто делаете это для целей разработки, вы можете загрузить последнюю версию Thrift Python Library вручную, удалить src / protocol / fastbinary.c, а затем запустить «setup.py install» из каталог верхнего уровня. Это будет медленнее, чем если у вас есть скомпилированное и установленное расширение, но для целей разработки оно будет работать нормально. Вы можете использовать 'pip install --no-deps pycassa' на этом этапе, и он не будет пытаться установить Thrift автоматически, просто pycassa.
Если вы делаете это для производства, вы, вероятно, захотите, чтобы расширение C было скомпилировано и установлено. Для этого вам необходимо установить Visual C ++ 2008 Express Edition , получить последнюю версию Thrift из SVN, перейти в каталог lib / py и запустить там файл setup.py install.