2014年7月19日土曜日

pycassaとかtweepyとかgeventとかgdataとか言うものがpython3では使えませんよ、という事

多分書いておくとあと10年で3人ぐらいに需要があるだろう情報を記述

python2の時にcassandra用のライブラリとしてpycassaというのがメジャーだった。
https://github.com/pycassa/pycassa
こいつじゃね。

んで、自社webアプリで当時作ったものがあってですね、cassandra使ってるんですよ。
どんなに大規模になってもcassandraならscalabilityバッチリ、やったね!とか思って。
こいつですね
https://ideawalk.net/


んで、会社は未だにpython2.x(2.7)なんですが、「もうpython3が出てから8年も(!)経ってるんだからそろそろpython3.xに移行すんべ」、と思って色々やってみたところ、、これがまぁ色々うまくいかないんですよ...

ハマったところ
gevent
 -> 3.2.xあたりまでは対応させようとした気配。ただpython3.4.xには現時点ではもっていけない様子。あと数年したら安定して3.xの最新に対応させられるんだろうけどもうちょい様子見ぽい。
https://github.com/surfly/gevent/issues/38

websocket用に使っていたのだが、今の自社アプリでは実質使ってないから、しばらくこいつのことは忘れるようにする
gevent-websocket
 ->これも当時"pythonでwebsocketやるならこいつだよね"という感じだったモジュールなんだが、geventが動かんのにこいつが動くわけがない。
どうも直近のpythonでは他のモジュールを使ったほうが良さそう
https://github.com/aaugustin/websockets

tweepy
 ->こいつもpython2時代はメジャーだったtwitter用ライブラリ
多分こいつを使うべきなのだと思われる
https://github.com/sixohsix/twitter


gdata
 ->google spreadsheetに書いたり読んでみたり。
 これもなんでかpython3版が無い。こいつどうするか今考え中orz
この辺が候補orz
https://code.google.com/p/gdata-python-client/source/clones
多分こいつを使うべきだろうと思うのだが、pipでは3.4.xには入れられないぽいのでどうしたものか。ソース落としてくるにしてもbranch多すぎてよくわからんす
https://code.google.com/r/aigarius-gdata/source/browse

pycassa
 -> pycassaの中の人がお手上げしている.
https://github.com/pycassa/pycassa/issues/178
このへん見てもcassandra-driverを使えと云っておるので、おっしゃるとおりcassandra-driverにすることとする。
http://pycassa.github.io/pycassa/

先がなげーぜ!!!!
とりあえずこれからcassandra-driverのマニュアル読んで何とかする。

0 件のコメント: