日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python安装matlab库_[python][matlab]在python36上安装matlab2015b引擎

發(fā)布時(shí)間:2025/3/15 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python安装matlab库_[python][matlab]在python36上安装matlab2015b引擎 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問題來源

筆者曾經(jīng)在python34上安裝matlab接口,當(dāng)時(shí)使用的版本為matlab 2015b,眾所周知,2015年還沒發(fā)行py36,所以只能支持到py34。這種不兼容有兩種解決辦法,你可以通過查看本地的matlab文檔進(jìn)而知道支持的py版本,升級(jí)到高版本的matlab可以支持更高版本的py。當(dāng)然也可以新建舊版本的py,比如筆者就是使用anaconda建立了一個(gè)py34的庫(kù),相比于升級(jí)matlab,降級(jí)py是更簡(jiǎn)單的做法。 相對(duì)應(yīng)的做法可以參考我上一篇博文的做法: https://www.cnblogs.com/wildkid1024/p/10417183.html

新的問題

但是不是新建庫(kù)就解決問題了呢,隨之而來的新問題是,假如我們其他編程庫(kù)依賴于更新版本的py版本,那么我們不得不忙于不停地版本切換。最佳的解決方案,是py36兼容matlab 2015b,甚至是其他版本。但是如果切換到python36再運(yùn)行上述的安裝方案時(shí),便會(huì)出現(xiàn)錯(cuò)誤:

Python 3.6 is not supported.

原來是官方的setup文件里不支持py3.6,那么怎么辦呢?

解決方案

通過閱讀engine源碼文件,我們可以得知,原來受支持的版本在一個(gè)列表中,于是,我們需要找到以下文件engines/python/build/lib/matlab/engine/__init__.py,然后修改對(duì)應(yīng)的受支持列表為:

_supported_versions = ['2_7', '3_3', '3_4', '3_6']

同樣,通過不斷地追蹤錯(cuò)誤,我們很容易找到另外兩個(gè)版本支持列表的文件: engines/python/dist/matlab/engine/__init__.py和 engines/python/setup.py,依次進(jìn)行同樣的修改即可。

當(dāng)再次運(yùn)行python setup.py install時(shí),仍然會(huì)報(bào)錯(cuò):

ModuleNotFoundError: No module named 'matlabengineforpython3_6'

matlabengineforpython3_6是一個(gè)編譯好的py二進(jìn)制庫(kù),當(dāng)然沒辦法再編譯,當(dāng)然一個(gè)解決方法就是修改py34的二進(jìn)制庫(kù)即可。需要復(fù)制/engines/python/dist/matlab/engine/win64/matlabengineforpython3_4.pyd復(fù)制到同文件夾下,然后改為matlabengineforpython3_6.pyd即可。剩下的工作還需要一個(gè)二進(jìn)制代碼編輯器,然后將其中的所有3_4修改為3_6即可。在win下,可能還需要一些修改,將python34.dll修改為python36.dll。

當(dāng)再次運(yùn)行python setup.py install時(shí),經(jīng)過一番安裝之后,就可以使用以下的程序來驗(yàn)證是否安裝成功:

import sys

print(sys.version)

import matlab.engine

eng = matlab.engine.start_matlab()

print(eng.sqrt(4.))

小插曲

當(dāng)使用linux操作系統(tǒng)的時(shí)候,很可能遇到文件讀寫權(quán)限問題,相關(guān)的操作可以按照官方給出的文檔進(jìn)行操作:參見[2].

引用

總結(jié)

以上是生活随笔為你收集整理的python安装matlab库_[python][matlab]在python36上安装matlab2015b引擎的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。