簡體   English   中英

(/ bin / bash:python3:找不到命令)在Matlab中通過系統命令運行python腳本時

[英](/bin/bash: python3: command not found) When running python script through system command in Matlab

我有一個大型的Matlab項目,由於xlsread和Mac OS的問題,我包括了Mac開關。 如果該開關打開,我希望Matlab通過系統命令執行python腳本,如下所示:

cmdStr = 'python3 osx_conversion.py'
if osxSwitch == 1
    [status,result] = system(cmdStr);
    if status ~= 0
        error('System could not run Python conversion file')
    end
else
...

這將返回結果:

/bin/bash: python3: command not found

現在,如果我改為使用“ python osx_conversion.py”,則我得到的錯誤是與使用python 3語法有關的,因為我的mac上的python命令將其稱為python 2。

編輯:澄清一下,如果我通過終端運行“ python3 osx_conversion.py”,它將順利運行

編輯2:運行結果

echo $PATH

在終端:

    /anaconda3/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/Library/TeX/texbin:/usr/local/go/bin:/usr/local/MacGPG2/bin:/opt/X11/bin:/opt/ImageMagick/bin:/Applications/Wireshark.app/Contents/MacOS:/usr/local/go/bin

您的問題是Matlab運行的命令找不到您的python 3解釋器,我猜它是作為root用戶運行的,因此PATH與您的用戶中的PATH不同。

基本上,您可以為所需的Python解釋器指定完整的PATH,在您的情況下為/anaconda3/bin/python3 ,但該路徑對於另一個用戶可能有所不同。

無論如何,您始終可以在終端中運行whereis python3來查找用戶Python解釋器的完整PATH,並在Matlab中使用完整的PATH。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM