Help us understand the problem. What is going on with this article?

ThriftでPython3にコンパイルするまでの道のり

More than 3 years have passed since last update.

Thriftがpython3に対応してなくね?と思ったので調べてみました。

https://issues.apache.org/jira/browse/THRIFT-1857
あれ? Issueは fixed, closed になっているがこれは…。

よくて見てみるとver 0.10.0では対応していますが、最新版のリリースが現状(2016/11/23現在)では0.9.3なので、python3にコンパイルできないと。
最新版をチェックアウトするしかなさそうですね…。

チェックアウト

git clone https://github.com/apache/thrift.git
git branch -a  //存在するbranchの確認
git checkout -b 0.10.0 remotes/origin/0.10.0

makeする時に必要になるものをInstall

ここの"Requirements for building from source"ってとこ全部
http://thrift.apache.org/docs/install/

sudo apt-get update
sudo apt-get install libboost-dev libboost-test-dev libboost-program-options-dev libboost-filesystem-dev libboost-thread-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev

あとはREADME通りに

https://github.com/apache/thrift/tree/0.10.0

./bootstrap.sh
./configure
sudo make
sudo make install

動作確認

Thriftインストールの確認

thrift -version

"Thrift version 0.10.0"とプリントされたらインストールは成功です。

thrift -r --gen py test.thrift

無事"py-gen"のディレクトリが作成されました!
python3.5からimportもできました。

なんというか…python3への道はまだまだ遠いなと感じました。

補足

thriftpyというものを使ってもpython 3系に対応できるみたいです。
https://github.com/eleme/thriftpy

0.10.0のリリース版がいつ出るかは分かりませんが、python3にコンパイルすることだけが目的なら
使わなくてもいい気がするかなーとは個人的には思います。

seya
最近の趣味はGraphQLとFigmaです。
https://note.mu/seyanote
linc-well
Linc'well(リンクウェル)は2018年創業のヘルスケアスタートアップです。我々は、医療のIT化を通じて、人々と社会の健康に貢献します。
https://www.linc-well.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away