pyversion can't be set in startup file on Linux

7 次查看(过去 30 天)
I am running R2017b on Ubuntu 16.04 LTS. I would like to make sure that while working on a particular project I always have python loaded. So I tried to put a python call in the startup.m file (or use the pyversion command) to make sure that python was loaded.
But Matlab errors and can't find the "py" variable, and subsequently can't finish the startup file. Yet, if I run the startup file just after Matlab is opened, it works just fine.
How can I make sure that python is loaded in my startup file? Or does Matlab only load its python interface after the call to startup.m?

回答(1 个)

Karan Singh
Karan Singh 2025-2-3
Hi @aepound, I think your intuition makes sense, Python is likely initialized after the startup.m script runs, which explains why it executes afterward. How about adding a "Timer" delay for Python initialization? This could help ensure that Python starts only after MATLAB has fully initialized.
timerObj = timer(...
'StartDelay', 1, ... // time based on your scenario
'TimerFcn', @(~,~) initializePythonFile(), ...
'ExecutionMode', 'singleShot' ...
);
start(timerObj);
Can you add the same in your startup.m file and check if this might be able to work.
Here is a documentation for "Timer" https://in.mathworks.com/help/matlab/ref/timer.html
Karan

类别

Help CenterFile Exchange 中查找有关 Startup and Shutdown 的更多信息

产品


版本

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by