使用pyrunfile在matlab上导入python模块?

问题描述 投票:0回答:1

我有一个依赖导入包的python脚本,如图:

#script stored as get_command_Voltage.py

import pyabf
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

#load data
def get_command_V(filepath):
    abfdata = pyabf.ABF(filepath)
    return abfdata


commandv = get_command_V(filepath1)

我想将 python 输出 commandv 存储在 matlab 中的变量 commandV 中。

我在Matlab上写了以下代码:

pyabf = py.importlib.import_module('pyabf');

filepath_this = "..." %full file path

commandV = pyrunfile("get_command_Voltage.py","commandv",filepath1 = filepath_this)

但它给了我

ModuleNotFoundError:没有名为“pyabf”的模块

Warning: Unable to load Python object. Saving (serializing) Python objects into a MAT-file is not supported. 
> In vclampanal (line 25) 
Error using <frozen importlib>_find_and_load_unlocked (line 1140)
Python Error: ModuleNotFoundError: No module named 'pyabf'

Error in <frozen importlib>_find_and_load (line 1176)

Error in <frozen importlib>_gcd_import (line 1204)

Error in __init__>import_module (line 126)
 

我只是想知道如何解决这个问题并运行依赖于导入的 python 脚本。

如有任何建议,我们将不胜感激!

谢谢你

python python-3.x matlab import package
1个回答
0
投票

MATLAB只能访问安装在pyenv指定的Python环境中的Python包。如果 MATLAB 指向不同的 Python 安装,它将无法加载或识别在其他环境(例如 Anaconda 环境)中安装的包。

第 1 步.打开终端或 Anaconda Prompt。

步骤2.激活安装pyabf的Anaconda环境(如果使用特定环境,否则跳过此步骤)。

第 3 步.运行

哪条蟒蛇

在 macOS/Linux 上或

蟒蛇在哪里

在 Windows 上查找活动环境中 Python 可执行文件的路径。

步骤 4. 复制 Python 可执行文件的路径。 应该是这样的

/用户/sayakaminegishi/opt/anaconda3/bin/python

(适用于 macOS/Linux)或 Windows 上的类似路径。

第 5 步。打开 MATLAB 并使用 pyenv 命令将 Python 可执行路径设置为您在上一步中找到的路径。

pyenv('版本', '/Users/sayakaminegishi/opt/anaconda3/bin/python');

步骤 6. 在 MATLAB 中再次运行 pyenv 以验证它现在是否使用正确的 Python 版本和路径。

© www.soinside.com 2019 - 2024. All rights reserved.