【发布时间】:2023-04-10 11:03:01
【问题描述】:
我正在尝试从 MATLAB 编译的应用程序(使用 MATLAB 编译器)运行 python 脚本,但由于某种奇怪的原因,它无法从 scipy 中找到任何导入。当我尝试调用任何 scipy 方法时,它给了我这个错误
Python Error: ImportError: cannot import name sigtools
如果我直接从 Python 或 MATLAB 调用相同的代码,它就可以工作。但不是来自 MATLAB 编译器。
另外一件奇怪的事情是,从 MATLAB 中调用 python 看到的 python 路径是正确的,那是什么原因造成的呢?
编辑 我的蟒蛇路径
/usr/lib/python2.7
/usr/lib/python2.7/plat-x86_64-linux-gnu
/usr/lib/python2.7/lib-tk
/usr/lib/python2.7/lib-old
/usr/lib/python2.7/lib-dynload
/usr/local/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages/PILcompat
/usr/lib/python2.7/dist-packages/gtk-2.0
我有文件sigtools.x86_64-linux-gnu.so
/usr/lib/python2.7/dist-packages/scipy/signal/
【问题讨论】:
-
信息不足。 sigtools在哪里,你是什么
sys.path,你有没有安装sigtools等等等等。 -
我的 /usr/lib/python2.7/dist-packages/scipy/signal/ 目录中有这个文件 sigtools.x86_64-linux-gnu.so,所以我假设它是安装。另一个信息是,如果我直接从 python 调用相同的代码,它可以工作,如果我直接从 MATLAB 调用相同的代码,而不是它的 MATLAB 编译器版本。感谢您的帮助
-
如果它是您声称的位置,那么很明显
sys.path不会找到它。但是import scipy.signal.sigtools应该可以工作。 -
我猜你在 Linux,你能在你的 Linux 主机中找到 sigtools.so 库吗?
-
它给了我这个漂亮的错误 Python 错误:ImportError: cannot import name sigtools =(,有没有办法直接给它我的 sigtools.so 的路径?
标签: python matlab matlab-deployment matlab-compiler