先说一下我的环境:
- Python:3.9
Matlab:R2022a
安装步骤:
-
第一步:先建立一个新的虚拟环境,比如:
conda create -n py39 python=3.9
; -
或者:直接激活已有的环境也可以
conda activate 虚拟环境名称
-
第二步: 移动到matlab目录下的这个位置:
<matlabroot>/extern/engines/python
我的路径是在这里。 -
Anaconda命令行中也要移动到这里:
-
第四步:输入命令 :
python setup.py install
然后我的问题出现了:
报错内容如下:
(UVDoc) D:\Software\MATLAB\extern\engines\python>python setup.py install
Traceback (most recent call last):
File "D:\Software\MATLAB\extern\engines\python\setup.py", line 80, in <module>
setup(
File "D:\Anaconda\envs\UVDoc\lib\site-packages\setuptools\_distutils\core.py", line 146, in setup
_setup_distribution = dist = klass(attrs)
File "D:\Anaconda\envs\UVDoc\lib\site-packages\setuptools\dist.py", line 318, in __init__
self.metadata.version = self._normalize_version(self.metadata.version)
File "D:\Anaconda\envs\UVDoc\lib\site-packages\setuptools\dist.py", line 354, in _normalize_version
normalized = str(Version(version))
File "D:\Anaconda\envs\UVDoc\lib\site-packages\setuptools\_vendor\packaging\version.py", line 200, in __init__
raise InvalidVersion(f"Invalid version: '{version}'")
setuptools.extern.packaging.version.InvalidVersion: Invalid version: 'R2022a'
就是这个错误:
setuptools.extern.packaging.version.InvalidVersion: Invalid version: ‘R2022a’
我当时找了很久都找不到解决办法,后来chatgpt解决了,解决方法如下:
解决方法
- 第一步:用记事本打开这个文件
- 第二步: ctrl + F 搜索 version
- 第三步:把 R2022a 改成 1.0.0
- 第四步:再用
python setup.py install
安装就可以正常安装了
报错原因:
setup.py 文件中的 version 参数值 ‘R2022a’ 被认为是无效的版本格式。
Python 的 setuptools 库期望版本号遵循特定的语义化版本(SemVer)格式,如 1.0.0 或 2.0.1,
而 ‘R2022a’ 不是一个有效的版本格式。
检验是否成功安装
-
- 启动python解释器
python
import matlab.engine
# 启动 MATLAB 引擎
eng = matlab.engine.start_matlab()
# 调用 MATLAB 函数
result = eng.sqrt(4.0)
print(f"The square root of 4 is {result}")
# 关闭 MATLAB 引擎
eng.quit()
逐行输入,如果输出结果是
The square root of 4 is 2.0
这样就说明安装成功了