matlab上でpy​thonのユーザー定​義関数の編集結果が反​映されない。

3 views (last 30 days)
Yusuke Sakamaki
Yusuke Sakamaki on 26 Apr 2022
Commented: Yusuke Sakamaki on 27 Apr 2022
matlab上でpythonのユーザー定義関数の編集結果が反映されません。
matlabの再起動をすることで、pythonのユーザー定義関数の編集結果が反映されるので、
暫定的にpythonのユーザー定義関数の編集したときは毎回matlabを再起動しています。
恒久的にはmatlabの設定等で、pythonのユーザー定義関数を編集したらただちに反映されてほしいです。
matlabの設定等でこの問題を対処する方法はありませんか?
【実行環境】
・Windows 10
・MATLAB R2021a update 6(最新アップデート)
・Python 3.8.10 
matlabワークスペース上で以下を実行
py.test_func.testcal(1,6)
【python側】ファイル名:test_func.py
def testcal(a,b):
return a+b
【出力結果】
ans =
7
pythonのユーザー定義関数を編集し、matlabワークスペース上で以下を実行
py.test_func.testcal(1,6)
【python側】ファイル名:test_func.py
def testcal(a,b):
return a*b % 出力結果を編集(足し算⇒掛け算)
【出力結果】
ans =
7 % 編集結果が反映されず。

Accepted Answer

Hiro Yoshino
Hiro Yoshino on 27 Apr 2022
py モジュールの場合、変更した Python のファイルの内容が直ぐに反映されません。
再度読み込みが必要です:
in-process:
out-process:
リンク先をご覧ください。
なお、再読み込みをしなくても Python のファイルを外で実行して結果を得る方法が有ります。
pyrunfile をご確認ください。コマンドをそのまま叩く場合は、pyrun も使えます。
この2つは python ライブラリをロードしている訳ではないので、変更結果が反映された結果が即得られます。
  1 Comment
Yusuke Sakamaki
Yusuke Sakamaki on 27 Apr 2022
ご回答ありがとうございます。
1つ目のリンクの方法で出来ました。
ありがとうございました。

Sign in to comment.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!