Matlab pyversion命令找不到python3.4的库

2024-06-16 08:54:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从matlab调用python3.4。默认版本是python2.7,当我在matlab中运行pyversion时,它显示:

   version: '2.7'
executable: '/usr/bin/python'
   library: 'libpython2.7.so.1.0'
      home: '/usr'
  isloaded: 0

我用matlab中的runpy.list()进行了测试,它可以工作。在

然后我想将版本更改为python3,所以我运行

^{pr2}$

更改python的版本。在

但是现在py.list()不能工作了,就是说Undefined variable "py" or class "py.list".。 另外,现在我运行pyversion,信息显示:

version: '3.4'
executable: '/usr/bin/python3.4'
library: ''
home: '/usr'
isloaded: 0

“图书馆”变空了。在

如何解决这个问题才能正确运行python3.4?在

我使用Ubuntu14.04,并为python3.4安装了Cython。我通过运行find /usr/lib -name libpython*得到以下输出

/usr/lib/python3.4/config-3.4dm-x86_64-linux-gnu/libpython3.4.so
/usr/lib/python3.4/config-3.4dm-x86_64-linux-gnu/libpython3.4dm.so
/usr/lib/python3.4/config-3.4dm-x86_64-linux-gnu/libpython3.4dm.a
/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu/libpython3.4.so
/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu/libpython3.4m.a
/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu/libpython3.4m.so
/usr/lib/python3.4/config-3.4m-x86_64-linux-gnu/libpython3.4m-pic.a
/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so
/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.a
/usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7-pic.a
/usr/lib/libpeas-1.0/loaders/libpython3loader.so
/usr/lib/libpeas-1.0/loaders/libpythonloader.so
/usr/lib/debug/usr/lib/libpython3.4m.so.1.0-gdb.py
/usr/lib/debug/usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
/usr/lib/libreoffice/program/libpythonloaderlo.so
/usr/lib/x86_64-linux-gnu/libpython3.4m.so.1
/usr/lib/x86_64-linux-gnu/libpython3.4dm.so.1
/usr/lib/x86_64-linux-gnu/libpython3.4m.a
/usr/lib/x86_64-linux-gnu/libpython2.7.so
/usr/lib/x86_64-linux-gnu/libpython3.4m.so
/usr/lib/x86_64-linux-gnu/libpython3.4dm.so.1.0
/usr/lib/x86_64-linux-gnu/libpython2.7.a
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1
/usr/lib/x86_64-linux-gnu/libpython3.4m.so.1.0
/usr/lib/x86_64-linux-gnu/libpython3.4dm.so
/usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
/usr/lib/x86_64-linux-gnu/libpython3.4dm.a

Tags: pygnu版本configsoversionlinuxlib
2条回答

我遇到了一个类似的问题(R2015b,Ubuntu),但没有用公认的答案来解决它。我不得不执行死刑

python3 MATLABROOT/toolbox/matlab/external/interfaces/python/+python/+internal/pyinfo.py

而不需要从命令行修改它。在

恰好在这篇文章的5天内也有同样的问题。在

显然,matlab使用以下脚本搜索库:

MATLABROOT/toolboot/matlab/external/interfaces/python/+python/+internal/pyinfo.py在

其中MATLABROOT是您在安装matlab时选择的。在

理论上,你可以编辑pyinfo.py在搜索中包含“/usr/lib/x86_64-linux-gnu”。例如,在只返回'/usr/lib/x86_64-linux-gnu'的搜索位置追加一个方法。但我不知道这会对许可/法律/保修产生什么影响,所以请自行决定使用。在

相关问题 更多 >