我有一个shell脚本,可以运行以预测raspberrypi上具有python 2.7和3.5版本的某些内容。为了支持音频功能,我将python 3.5作为默认设置。当我运行shell脚本时,它的版本是2.7,并抛出错误。The error is shown in this link
答案 0 :(得分:0)
我建议您使用adding an alias to the root bashrc file,因为您似乎以root用户的身份称呼它。
文件alias python=python3.5
底部的~root/.bashrc
可能会影响您的搜索结果,尽管我敢肯定还有更永久的解决方案。
答案 1 :(得分:0)
根据您的问题的措词还不清楚,您如何设置脚本。但是,如果要在Shell脚本中调用python,则始终可以指定python3或python2,而不仅仅是调用python(这指向系统的默认值)。看起来像这样:
$ python3 python_script.py
如果您是直接通过命令行(例如,外壳程序中./python_script.py
的某些行)中包含python代码的脚本来调用脚本,则还可以像这样设置脚本头的格式,以强制执行特定版本的python:
#!/usr/bin/env python3
python source code here
答案 2 :(得分:0)
您可以在脚本顶部显式选择现有python的版本。
例如,我有一个脚本,该脚本在2.7.12 python和3.5.2 python中执行脚本。命名为:“不同的py versioned.sh”
其代码:
#! /bin/bash
./'py in default.py'
./'py in 3.5.py'
“ py in 3.5.py”的代码:
#!/usr/bin/python3.5
import sys
print("Python version")
print (sys.version)
“ py in default.py”的代码:
#!/usr/bin/python
import sys
print("Python version")
print (sys.version)
然后执行输出:./'不同的py versioned.sh'
Python version
2.7.12 (default, Oct 8 2019, 14:14:10)
[GCC 5.4.0 20160609]
Python version
3.5.2 (default, Oct 8 2019, 13:06:37)
[GCC 5.4.0 20160609]
显示每段代码均以其单独的py版本执行。