Main Content

Calling Python from MATLAB

Directly call Python® functionality from MATLAB®

You can access Python libraries directly from MATLAB by adding the py. prefix to the Python name. See Access Python Modules from MATLAB - Getting Started. For example:

py.list({'This','is a','list'})      % Call built-in function list
py.textwrap.wrap('This is a string') % Call wrap function in module textwrap
You can execute Python statements in the Python interpreter directly from MATLAB using the pyrun or pyrunfile functions. For example:
pyrun("l = ['A', 'new', 'list']")  % Call list in Python interpreter
For more information, see Directly Call Python Functionality from MATLAB.

If instead you want to call MATLAB functions from Python applications, see Calling MATLAB from Python for more information.

Functions

expand all

pyenvChange default environment of Python interpreter
PythonEnvironmentPython environment information
pyrunRun Python statements from MATLAB
pyrunfileRun Python script file from MATLAB
pyargsCreate keyword arguments for Python function
matlab.exception.PyExceptionCapture error information for Python exception

Topics

Use Python Libraries in MATLAB

Access Python Modules from MATLAB - Getting Started

How to create and use a Python object in MATLAB.

Configure Your System to Use Python

How to verify you have installed a supported version of Python.

Call User-Defined Python Module

Create a Python module used by examples in this documentation.

Understand Python Function Arguments

Python method syntax which might be unfamiliar to MATLAB users.

Advanced Topics

Code pattern differences you should be aware of.

Out-of-Process Execution of Python Functionality

Execute Python scripts in processes that are separate from the MATLAB process.

Reload Out-of-Process Python Interpreter

Reload out-of-process Python interpreter without restarting MATLAB.

Run Python Code from MATLAB

Directly Call Python Functionality from MATLAB

Ways to call Python from MATLAB.

Passing Data

MATLAB to Python Data Type Mapping

How MATLAB converts MATLAB data into compatible Python data types.

Access Elements in Python Container Types

A Python container is typically a sequence type (list or tuple) or a mapping type (dict).

Pass Python Function to Python map Function

This example shows how to display the length of each word in a list.

Troubleshooting

Determine if Error is Python or MATLAB Error

Tips to determine if an error originates in Python or MATLAB code.

Limitations to Python Support

Python features not supported in MATLAB.

Handle Python Exceptions

MATLAB catches exceptions thrown by Python and converts them into a matlab.exception.PyException object.

Troubleshooting Matrix and Numeric Argument Errors

Error might be caused by input array with more than one non-singleton dimension.

Featured Examples