![](/img/trans.png)
[英]“bin/bash: python: command not found” returned when running docker image
[英](/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.