Issues Using python from MATLAB

7 ビュー (過去 30 日間)
Stephen Hummel
Stephen Hummel 2022 年 1 月 13 日
回答済み: Yongjian Feng 2022 年 1 月 19 日
I am trying to use python from MATLAB to run a simple python script that writes information to a website. My python script works great in python but my other code is in MATLAB so I would like to make my process continuous and call python from MATLAB. I set my pyenv to the python used by anaconda on my computer but this seems to consistently cause MATLAB to crash.
Subsequently, I updated the python on my computer, changed the python environment in MATLAB to the newer version, but am struggling to get things to work on several fronts. (I am new to this MATLAB-python interface so please forgive me).
Ideally, I would like to use the MATLAB function pyrunfile, but I end up getting the error:
pyrunfile("autofill.py")
Error using <string>><module> (line 2)
Python Error: ModuleNotFoundError: No module named 'selenium'
I used pip3 install selenium and installed the module. Anytoughts on what I am doing wrong or ways to improve?
Code for Changing Environment:
pyenv('Version', '/usr/local/bin/python3.9')
ans =
PythonEnvironment with properties:
Version: "3.9"
Executable: "/usr/local/opt/python@3.9/bin/python3.9"
Library: "/usr/local/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/lib/libpython3.9.dylib"
Home: "/usr/local/opt/python@3.9/Frameworks/Python.framework/Versions/3.9"
Status: NotLoaded
ExecutionMode: InProcess
  2 件のコメント
Ive J
Ive J 2022 年 1 月 13 日
編集済み: Ive J 2022 年 1 月 13 日
Can you verify you are using the exact version of python as the one pip3 uses?
If you have different versions, you can try to install the modules specifiying py version:
py -3.9 -m pip3 install <modules>
Can you also verify that pip3 installed the modules on py 3.9?
pip3 -V
Also, from MATLAB what happens if you check
mod = py.importlib.import_module("numpy") % I get no error for numpy
Stephen Hummel
Stephen Hummel 2022 年 1 月 13 日
I used pip3.9 which shows pip version 20.2.3.
I just confirmed install of numpy and it shows:
Requirement already satisfied: numpy in /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages (1.22.0)
When I tried:
mod = py.importlib.import_module("numpy") % I get no error for numpy
I got the error:
mod = py.importlib.import_module("numpy")
Error using <frozen importlib>_find_and_load_unlocked (line 984)
Python Error: ModuleNotFoundError: No module named 'numpy'
Error in <frozen importlib>_find_and_load (line 1007)
Error in <frozen importlib>_gcd_import (line 1030)
Error in __init__>import_module (line 127)
This made me realize that the path to the module library were not correct. I corrected it and was able to recognize the numpy library. Thank you.

サインインしてコメントする。

回答 (1 件)

Yongjian Feng
Yongjian Feng 2022 年 1 月 19 日
python has trouble to find the package selenium. One easy way out is to set the environment variable PYTHONPATH inside matlab to point to the folder you installed this package.
This page is about setting env var inside matlab.

カテゴリ

Help Center および File ExchangeCall Python from MATLAB についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by