我刚刚安装了python 3.10,我遵循了一个教程,该教程告诉我创建一个别名,这样预装的2.7.6就不会运行了。我试着用
nano ~/.bash_profile
并添加
alias python="python3"
但这不会改变我的版本。
然后我尝试使用
nano ~/.zprofile
并添加
alias python="python3"
现在,每当我运行一个简单的python文件,试图执行print("helloworld"(时,它都会出现SyntaxError:无效的十进制文字。python代码中没有变量。
@Carters-MBP ~ % python3 Desktop/intro.p.py
File "/Users/carternetzley/Desktop/intro.p.py", line 1
Python 3.10.6 (v3.10.6:9c7b4bd164, Aug 1 2022, 17:13:48) [Clang 13.0.0 (clang-1300.0.29.30)] on darwin
^
SyntaxError: invalid decimal literal
有什么想法吗?
下面是Opinionated答案。。。
不要为Python使用别名。它们工作不太好:
IDE中的- ,或
cron
作业或- 子流程或非交互式登录
删除所有Python别名并重新启动计算机。
使用type
命令可以了解执行命令时实际运行的内容。因此,如果您想知道在执行python3
时shell实际运行的内容,请使用:
type python3
如果您想知道在执行python
时您的shell将运行什么,请使用:
type python
你的外壳没有"防止">你什么都跑!它只是运行PATH中的第一个匹配的东西。
因此,如果您在/Applications/Python3.10/bin/python
上安装了Python 3.10,只需将PATH设置为:
export PATH=/Applications/Python3.10/bin:$PATH
问题都在您的文件中。intro.p.py
中的内容不是Python脚本,而是终端会话的转录本。它包括Python头行,当然这不是有效的代码。您需要编辑该文件并使其成为Python脚本。