Calling Python from Matlab / Can I use Python installed by Anaconda? / "NULL pointer returned from Python."

Would love to use some Python code a colleague wrote. I already have Anaconda installed, so I really don't want to install another version of Python (and associated libraries).
Tried:
pe = ...
pyenv('Version',...
fullfile('e:\', 'anaconda3', 'python.exe'));
myPythonVersion = pe.Version
py.print("Hello, Python!")
Got:
>> pe = ...
pyenv('Version',...
fullfile('e:\', 'anaconda3', 'python.exe'));
myPythonVersion = pe.Version
py.print("Hello, Python!")
myPythonVersion =
"3.8"
NULL pointer returned from Python.
>> py
>> pe
pe =
PythonEnvironment with properties:
Version: "3.8"
Executable: "e:\anaconda3\python.exe"
Library: "e:\anaconda3\python38.dll"
Home: "e:\anaconda3"
Status: NotLoaded
ExecutionMode: OutOfProcess
>>
Matlab Version R2020a (happy to upgrade, just too lazy right now...)

 채택된 답변

Brian
Brian 2022년 9월 30일
편집: Brian 2022년 9월 30일
Not sure what the best answer is for this issue.
Due to other circumstances, I needed to re-install Matlab and Anaconda. Now everything works:
>> pe = ...
pyenv('Version',...
fullfile('c:\', 'temp', 'anaconda3', 'python.exe'));
>> py.print("Hello, Python!")
Hello, Python!
Is this due to:
  • Re-installing Matlab?
  • Installing the latest version of Matlab (R2022b)?
  • Re-installing Anaconda?
  • Putting Anaconda on the C:\ ?
sorry, I don't know.
What I do know is that launching from the Anaconda prompt is not required.

추가 답변 (1개)

Try this start-up sequence: first open an Anaconda Prompt or Anaconda PowerShell terminal. Then within that terminal window, type the path to the matlab executable (or is it a launch .bat file on Windows?). Or just type 'matlab' if it is in your system-wide search path.
Then within matlab just do
>> pyenv
with no arguments to see if matlab figured everything out on its own.

댓글 수: 2

This worked fine for me too. When anaconda launches Matlab, it directs it to a pathfile which has pyhton libraries in anaconda.
this worked for me too, thank you.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터 및 File Exchange에서 Call Python from MATLAB에 대해 자세히 알아보기

제품

릴리스

R2020a

태그

질문:

2022년 9월 22일

댓글:

2024년 2월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by