ys memos

Blog

別のPCのElectronでPythonShellが動かない問題


electron

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';


単に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';

pipで依存関係をクリア


Macbook の方のpythonコマンドを Python3 系に変更


逆に ubuntu の方が動かない人は,以下のコマンドを実行することで,pythonコマンドを Python3 系にすることができる.

$ sudo apt install python-is-python3

関連タグを探す