pycharm中anaconda虚拟环境下进行matlab函数调用设置

时间:2024-03-28 19:00:37

1,具体的matlab版本对应的engine参考

matlab安装路径下的“extern\engines\python”文件夹内,setup.py文件打开可以查看

例如我的安装路径是“C:\Program Files\Polyspace\matlabR2021a\extern\engines\python”,matlab版本是2021a,支持的python版本是2.7,3.7,3.8

错误1:版本不对应需要重新下载

错误2,在conda虚拟环境中直接进入执行命令

python setup.py install

报错

解决方法:

#在命令行查看setuptools版本
 
#进入虚拟环境
activate ML2021
#进入python
python
>>>import setuptools
>>>print(setuptools.__version__)
>>>quit()
 
###我的版本是68.2.2,降低为58.2.0
pip uninstall setuptools
pip install setuptools==58.2.0

继续执行上述命令python setup.py install,,

报错error: you do not have write permission in build\lib\matlab\engine\

表示没有权限,所以需要从以管理员身份打开终端进入虚拟环境后执行命令。

2,以管理员身份打开终端,首先激活conda下需要使用的虚拟环境

conda activata py38OTFS

错误:

conda命令在终端不能使用,出现下面的错误

conda : 无法将“conda”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

解决方法:

需要将anaconda的环境变量添加到电脑的环境变量中

添加对应Anaconda环境变量到系统变量和用户变量中:

我的是:

D:\ProgramData\Anaconda3

D:\ProgramData\Anaconda3\Scripts

D:\ProgramData\Anaconda3\Library\bin

示例见下图:

添加好后重启就可以了。

3,在2完成的情况下,以管理员身份打开cmd, 随后激活虚拟环境

conda activate py38OTFS

错误:

conda-script.py: error: argument COMMAND: invalid choice: 'activate' (choose from 'clean', 'compare', 'config', 'create', 'info', 'init', 'install', 'list', 'notices', 'package', 'remove', 'uninstall', 'rename', 'run', 'search', 'update', 'upgrade', 'build', 'content-trust', 'convert', 'debug', 'develop', 'doctor', 'index', 'inspect', 'metapackage', 'render', 'skeleton', 'token', 'repo', 'env', 'pack', 'server', 'verify')


解决方法:

Powershell管理员输入 

conda init

不行就

conda init bash

随后进入到matlab的文件下

cd "C:\Program Files\Polyspace\R2020b\extern\engines\python"

其中路径必须添加双引号。

执行命令行

python setup.py install

参考链接:

https://blog.csdn.net/transfer_ya/article/details/134054263

https://blog.csdn.net/chencaw/article/details/89035571

https://gitcode.csdn.net/65e7d7bb1a836825ed78a2bc.html?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MzI4MjA0NSwiZXhwIjoxNzExNjg1MDQwLCJpYXQiOjE3MTEwODAyNDAsInVzZXJuYW1lIjoiWFVfTUFOXyJ9.sazULt1xTSFxYOTS-iG2_NPfkPrFJUOnPeKiT0JPskI