Python界隈を後から追従しようとして、ドツボにはまったアカウントがこちらです。
色々調べて回っていたら、QiitaにPythonでデスクトップアプリを作る with Electronという記事が上がっていたので、試してみることにしました。
ほぼ全てがbrewとpipで片が付くので、オススメです。
素直にElectron、HTML5、JavaScriptをやってもいいのでしょうけど、Pythonを使って何か作りたい、勉強したい並びに業務の改善効率に役立てたいという気持ちがありました。
なお、HTML5やCSS3はHTML3から追従できなくなったので、どうせやるならpythonでやろうかな、とか考えたわけです。(pythonの勉強にもなる)
Python界隈のマルチプラットフォーム開発環境の状況 2017年2月21日現在
腐ってやがる…早すぎたんだ。
もうPython周りの情報に振り回されるのは疲れました。
下記の理由でPythonだけで完結することは不可能と感じています。
- PyQt5(with Python3.6)を試そうとしたらPyInstallerが3.6系に追従できてないためアプリ化できない
- PySideは3.4.6で動かない(2.7は動いたけど、2019年でサポート切れる)
- wxPythonを試したらどのバージョンもダメだと返してくる
- kivyはUIがOpenGLなのでどちらかというと、2Dゲーム3Dゲーム向きなので、趣旨が違う
もしかしたら他にも開発方法はあるのかもしれませんが、もうPython3系がボロボロ状態なので追従できている気がしませんでした…
Electronに逃げることにします。
Pythonでデスクトップアプリを作る with Electronの通り、ビルドしたらPython2でもPython3でもちゃんと動きました。
神を見つけた気分になりました。
JavaScriptもやらなきゃならなくなりますけども…。
それぐらい頑張ろうという気持ちにもなるってもんです。
Mac版のインストール手順
brewのインストール
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
定期的に実行すると幸せになれる呪文
$ brew update;brew upgrade;brew prune;brew cleanup; brew doctor
Pythonとnpmのインストール作業
$ brew install python python3 npm
この時の状態としては、下記の通りです。
$ python -V
2.7.13
$ python3 -V
3.6.0
$ npm -v
4.1.2
FlaskとElectronのインストールからはPythonでデスクトップアプリを作る with Electronの通りです。
ぼくはこうしましたが。
$ pip install -U pip wheel setuptools Flask
$ pip3 install -U pip wheel setuptools Flask
記事中にある。サンプルコードのhello.pyも下記のように書き換えて動作確認済みです。
#!/usr/bin/env python
もしくは
#!/usr/bin/env python3
Mac版はOKでした。
Linux版(CentOS7)
最低限、CentOS7にpython3系のインストールでセットアップしてから取り掛かります。
Macと同様に下記のコマンドを叩きます。
$ pip install -U pip wheel setuptools Flask
$ python -V
3.6.0
$ npm -v
3.10.10
下記が追加で必要でした。
sudo yum install libXScrnSaver
他は、Macで実施した時の対応で全部いけます。
OKOK。
いいっすね。
Windows版(Win10 Pro)
最低限、Node.js / npmをインストールする(for Windows)とPythonをインストールする(for Windows)でセットアップしてから取り掛かります。
共通作業を実施します。
$ pip install -U pip wheel setuptools Flask
pythonでnpmのバージョンは下記の通りです。
> python -V
2.7.13
> npm -v
4.1.2
他は、Macで実施した時の対応で全部いけます。
Windowsでのアプリ起動おっそいな…。
と、思ったら3.6系入れてて、調べたら、「Windowsは3.6系はまだ動かないよ、バッキャロー」と言われました。
というわけで、python 2.7.13
を入れ直したんですけど、windows側もpython 3.x系が動かないとやばくね?というのはあるものの、いけそうな気がしてきたのでまあいいか…。