2021/04/03
Electron で,後ろに PythonShell を走らせるアプリケーションを開発していた.
デスクトップで開発していて,ふとした拍子に手持ちの MacbookPro でも走らせようと思い, git をクローンしてきて走らせてみた.
ところが,全く起動せず,アプリがウンともスンとも言わない.
開発環境
Ubuntu Desktop 20.04 LTS
MacBookPro 2017 MacOS ??? (忘れた)
原因
Python の起動コマンドが変わっている事が原因であった.
Ubuntu の方は新しく,単にpython
とすると Python3 系が呼び出されるが,Macbook の方は古く,単にpython
とすると Python2 系が呼び出される.
それを知らずに Macbook の方ではpip3
で Flask をインストールしていたので,Python2 系ではimport flask
が出来ずに Python が起動できず,アプリケーションが開始されなかった.
app.on('ready', function() {
const flask_app = require('child_process').spawn('python', ['./app.py']);
const rq = require('request-promise');
const mainAddr = 'http://localhost:5000';
解消方法
1.
単にpython
と書いた部分をpython3
と変更
app.on('ready', function() {
const flask_app = require('child_process').spawn('python3', ['./app.py']);
const rq = require('request-promise');
const mainAddr = 'http://localhost:5000';
2.
pip
で依存関係をクリア
3.
Macbook の方のpython
コマンドを Python3 系に変更
4.
逆に ubuntu の方が動かない人は,以下のコマンドを実行することで,python
コマンドを Python3 系にすることができる.
$ sudo apt install python-is-python3