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

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 % 編集結果が反映されず。

 采纳的回答

Hiro Yoshino
Hiro Yoshino 2022-4-27

0 个投票

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

1 个评论

ご回答ありがとうございます。
1つ目のリンクの方法で出来ました。
ありがとうございました。

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 MATLAB の Python ライブラリ 的更多信息

产品

版本

R2021a

标签

Community Treasure Hunt

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

Start Hunting!