Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【python3】でGUIを作りたい

以前はCentOSでサーバーを立てて、html+javascriptでフォームを作成してそれをpythonスクリプトに渡していた

今回の目的も似たようなもんやけど、サーバーを立てないといけないほど重い計算ではないっぽい
なので、GUIを作成してそこに値などを入力してそれをpythonスクリプトに渡す方針で行く


それでpythonで使えるGUIのパッケージを簡単に調べてみた

Tkinter (デフォルトで入ってる)
PyQt (結構評判がいい、公式ドキュメントが充実してるらしい)
・PySimpleGUI (上記2つよりもコードが短く書けるらしい)

サンプルとかも見てみた感じ、PySimpleGUIが一番良さそう
webブラウザのタブみたいなものも作成できるらしいし


他の選択肢としては、GUIではないような気もするけどeelというのもあるらしいウナギ

とりあえず使ってみて、後は重さと速さと書きやすさで決める感じでいく
eelは汎用性的にとてもアリ
eelでhtmlのformが使えたら、一応やりたいことはできると思う



eelをインストールしようとしたら、pythonのversionが2.8より古くないといけないらしくてインストールできなかった・・・orz

% conda install -c bioconda python-eel
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: -
Found conflicts! Looking for incompatible packages.
This can take several minutes. Press CTRL-C to abort.
failed

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

Your python: python==3.7.6=cpython_h90870a6_6

If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.


eelの開発者にpipのインストール方法のみやけど、condaでインストールできないの?
って聞いてみたら
「↑のパッケージはなんかよくわからん別のパッケージやで」
って教えてくれた

あとpipのみサポートしてるらしい


pythonってソースコードを手でインストールとかできないの?
pipでインストールしてvirtualenvを使うという手はあるけど、他のパッケージがcondaでインストールされてるんすよねぇ・・・
うーむ


ランキング参加中です

↓クリックしていただけると嬉しいです〜