• Showing Page History #107259
  • Showing Page History #107253
  • Showing Page History #107249

ver4開発

UNIX版第1回開発会議(和倉温泉,2017-2-10~12)

開発言語

  • 要件
    • C++に比べて、開発の敷居が低い
    • 質量分析やプロテオミクスに関するライブラリが充実していること
  • Pythonを用いる
    • JavaとPythonが要件を満たす。初期の学習・導入コストの低いPythonを選定
    • 方針として、「python3.4以降 + Windowsへの導入が容易なライブラリ」を用いて開発する
      • つまり正確には、「UNIX版」ではなく「マルチOS版」の開発
      • 開発者の環境がWindowsという話は秘密だ

GUIライブラリの選定

  • 以下のライブラリについて検討:
ライブラリ継続検討・不採用備考
PyQT不採用ライセンスがGPL
PySide不採用LGPL。Winへの導入に挫折(nmake, cmake, qmakeについてエラーを吐き続け、Shibokenまでたどり着いて死んだ)(Macへの導入は容易)
※脂肪肝を乗り越えると逝けそう
WxPython不採用LGPLライクな独自ライセンス。WinはVisual C++ 2010 が要る(Macは容易に導入可能で、すぐにHello, world!が出た)
※VS2010でビルドされているWindows版Python3.4で動かそうとしたためで、2.x用はバイナリで配布されているから導入容易なはずでかつソースからのビルドもMicrosoft Visual C++ Compiler for Python 2.7を使えば可能。また、 python3.5 からはVS2015でビルドされているので問題は生じなかった、はず。(Windowsでのpython3系の利用には 3.5 以降かどうかが分岐点になりそう。同じ理由でWindowsではpython2.7系も避けたほうが良いという印象。参考)
PyGTK不採用2011年4月で更新が止まっているので、チェックすらせず
Kivy継続検討MITライセンス。Windowsへのインストールはあっさりできた。(逆にMacでは、Mac port のpy35-kivyが依存ライブラリとは指定していない pygameを別途インストールする必要があったので、少し苦労した。)今後優先して検討を進める。
PyGObject継続検討(非優先)LGPL。pyGTKの後継で、GObject introspectionというGTKの新しいバインディング機構を利用する。pyGIと呼ばれていたこともある。