Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Rubyistがgemの前に

Pypiデビューするのは

間違っているだろうか
chezou @ kawasaki.rb #024
祝!    2周年!
chezou
is organizer of
is podcasting
近況
某所から何かを感じる
• uさん「KyteaをPythonから使おうと思うんで
すがMykyteaをpip installできるようになりま
せんか?」
KyTeaとは
• 読み推定もできる形態素解析器 (@neubig さん作)
• 簡単に言うとMeCabの親戚
• 部分アノテーションでも学習できる!
• MeCabとの違いは
• http://togetter.com/li/219734
MyKyteaとは
• KyTeaのRuby / Python binding
• SWIGを使って実装
• 共通の.iファイルを作って、多プラット
フォーム展開しやすい
DEMO
pipとは
• Python版gem
• chezouはgemはまだ作ったことがない
• Python版rubygems.orgのPypiにパッケージ登
録
gemより先にPypiとな
Python書きたくないから
Julia書いてるのに
Ingressコミュニティの

技術チャット
• Pythonistaがいる部屋
• setup.pyの書き方や実例を教えてくれた
• PRのレビューもしてくれた!!!
ところで
• PythonでのRakefileであるsetup.pyは

SWIGを使えるだろうか
http://docs.python.jp/2/distutils/setupscript.html
おお、対応してるぞ!
要約すると
• 外部ファイルのbuildが先に走らないから、

カスタムビルドしてね★
なぜか?
• やりたかったbuildフロー
• build_ext (SWIG動いてライブラリ生成)
• build_py (SWIG生成したファイルとPythonをつなげる)
• 通常のbuildフロー
• build_py
• build_...
https://bugs.python.org/issue7562
興味がなかった
どうしたか
• SWIGの生成物をPypiに登録
• travis CIはSWIGコマンドを叩くようにした
なぜPypiか
• Rubyでリクエストが来たら先にやっていた
• Rubyistは

自然言語処理とか興味ないのでは!?
まとめ
• Rubyistだけど、gemより先にPypiにパッケー
ジ登録をした
• brew install kytea && pip install kytea
• Juliaのパッケージも作成している
• Rubyistとは
Rubyistがgemの前にPypiデビューするのは間違っているだろうか
Rubyistがgemの前にPypiデビューするのは間違っているだろうか
Upcoming SlideShare
Loading in …5
×

Rubyistがgemの前にPypiデビューするのは間違っているだろうか

2,746 views

Published on

gemデビューする前にPypiデビューしたRubyistの話
形態素解析器のKyTeaのbindingをpip installできるようにしました。

Published in: Software

Rubyistがgemの前にPypiデビューするのは間違っているだろうか

  1. 1. Rubyistがgemの前に
 Pypiデビューするのは
 間違っているだろうか chezou @ kawasaki.rb #024
  2. 2. 祝!    2周年!
  3. 3. chezou is organizer of is podcasting
  4. 4. 近況
  5. 5. 某所から何かを感じる • uさん「KyteaをPythonから使おうと思うんで すがMykyteaをpip installできるようになりま せんか?」
  6. 6. KyTeaとは • 読み推定もできる形態素解析器 (@neubig さん作) • 簡単に言うとMeCabの親戚 • 部分アノテーションでも学習できる! • MeCabとの違いは • http://togetter.com/li/219734
  7. 7. MyKyteaとは • KyTeaのRuby / Python binding • SWIGを使って実装 • 共通の.iファイルを作って、多プラット フォーム展開しやすい
  8. 8. DEMO
  9. 9. pipとは • Python版gem • chezouはgemはまだ作ったことがない • Python版rubygems.orgのPypiにパッケージ登 録
  10. 10. gemより先にPypiとな
  11. 11. Python書きたくないから Julia書いてるのに
  12. 12. Ingressコミュニティの
 技術チャット • Pythonistaがいる部屋 • setup.pyの書き方や実例を教えてくれた • PRのレビューもしてくれた!!!
  13. 13. ところで • PythonでのRakefileであるsetup.pyは
 SWIGを使えるだろうか
  14. 14. http://docs.python.jp/2/distutils/setupscript.html
  15. 15. おお、対応してるぞ!
  16. 16. 要約すると • 外部ファイルのbuildが先に走らないから、
 カスタムビルドしてね★
  17. 17. なぜか? • やりたかったbuildフロー • build_ext (SWIG動いてライブラリ生成) • build_py (SWIG生成したファイルとPythonをつなげる) • 通常のbuildフロー • build_py • build_ext
  18. 18. https://bugs.python.org/issue7562
  19. 19. 興味がなかった
  20. 20. どうしたか • SWIGの生成物をPypiに登録 • travis CIはSWIGコマンドを叩くようにした
  21. 21. なぜPypiか • Rubyでリクエストが来たら先にやっていた • Rubyistは
 自然言語処理とか興味ないのでは!?
  22. 22. まとめ • Rubyistだけど、gemより先にPypiにパッケー ジ登録をした • brew install kytea && pip install kytea • Juliaのパッケージも作成している • Rubyistとは

×