我有一个依赖导入包的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 脚本。
如有任何建议,我们将不胜感激!
谢谢你
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 版本和路径。