Мне удалось установить Thrift только с MSVC.
- Установить MSVC
- Get Thrift
- Применение патча thrift-252-python-msvc-1.diff (Google it)
Файл fastbinary.c будет исправлен, но исправление setup.py завершится неудачно, обновите вручную из подсказок на setup.py.rej, вот (на первый взгляд) правильная копия:
from distutils.core import setup, Extension
import sys
libraries = []
if sys.platform == 'win32':
libraries.append('ws2_32')
fastbinarymod = Extension('thrift.protocol.fastbinary',
sources = ['src/protocol/fastbinary.c'],
libraries = libraries,
)
setup(name = 'Thrift',
version = '0.1',
description = 'Thrift Python Libraries',
author = 'Thrift Developers',
author_email = 'thrift-dev@incubator.apache.org',
url = 'http://incubator.apache.org/thrift/',
license = 'Apache License 2.0',
packages = [
'thrift',
'thrift.protocol',
'thrift.transport',
'thrift.server',
],
package_dir = {'thrift' : 'src'},
ext_modules = [fastbinarymod],
)
Тест Endianness не пройден, измените fastbinary.c (около строки 68):
#ifdef _MSC_VER
#define __BYTE_ORDER __LITTLE_ENDIAN
#endif
После этого запуска python setup.py install
, надеюсь, вы получите то, что вам нужно.