服务器上Python和matlab混编时,遇到问题:‘matlab‘ is not a package的解决方法

服务器上使用import matlab.engine 命令遇到’matlab’ is not a package的解决方法

前言

最近在服务器上使用python和matlab混编时遇到了这个问题
在这里插入图片描述
网上很多解决方案,一一试了过去,发现并不好用(动不动就劝人卸载重按-_-)
我的matlab版本是2020a,python版本的话3.6和3.7我都试了都可以,现在也不存在一些回答中的版本支持问题(都0202年了)

解决过程

与大多的回答一样,以下几步是必须的:
在matlab软件安装路径下,找到文件目录“./extern/engines/python”

在这里插入图片描述
运行如下命令

python setup.py build --build-base="builddir" install
 
python setup.py install --prefix="installdir"
 
python setup.py build --build-base="builddir" install --prefix="installdir"
 
python setup.py install --user

一般这样就可以解决
但是因为使用的是服务器,我发现在我的个人账户中仍然会出现这个‘matlab’ is not a package这个问题,但是使用root账户运行import matlab.engine则不会报错。
参考了如下两篇文章后,我猜测可能是我个人账户python的搜索路径未包含matlab文件

https://blog.51cto.com/2338053/1982977
https://www.fujieace.com/python/scapy-all.html

同时,对比了root账户下的python文件夹和我个人账户的python文件夹后,发现了如下区别在这里插入图片描述
root账户中是matlab这个文件夹
而我个人账户中pip install matlab后则是这样
在这里插入图片描述
无奈,将root账户下的matlab文件夹拷贝到我个人账户的对应位置后,问题迎刃而解。

在这里插入图片描述

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值