默认情况下,当我在终端中键入python时,它将使用2.7.x版本转到python。在macOS的最旧版本中,一旦我键入“ alias pyhton = python3”,它就会永久更改,并且每次我键入python时,它都会进入python版本3。 但是在macOS Catalina中,每次打开终端时都需要键入该语句。 有什么建议吗?
答案 0 :(得分:1)
首先,确认默认的“ python”链接到什么,以便您可以引用它,并确保与外壳程序一致:
user:~> which python
/usr/bin/python
user:~> type python
python is /usr/bin/python
user:~> ls -la /usr/bin/python
lrwxrwxrwx 1 root root 7 Oct 8 13:26 /usr/bin/python -> python2
现在,您可以添加一个别名在您的Shell中覆盖它。...
按照shahaf的建议,打开bash的〜/ .bash_profile文件或zsh的〜/ .zshrc文件(look here for historical reasons behind the files used),并添加一个带有别名的行-例如,快速方法:
echo "alias python=/usr/bin/python3" >> ~/.bash_profile
echo "alias python=/usr/bin/python3" >> ~/.zshrc
将为您启动的下一个外壳程序设置新的别名,或者打开一个新的终端窗口并提供配置文件的源以使其活动。例如。在bash中:
source ~/.bash_profile
或者,将符号链接更改为默认指向python3,并记住更改(我使用一个简单的切换脚本,否则安装缺少的python2软件包都会导致对configure脚本的抱怨,该脚本直接使用python symlink ):
#!/bin/bash
TOGGLE=$HOME/.python3Active
if [ ! -e $TOGGLE ]; then
touch $TOGGLE
sudo ln -fs python3 /usr/bin/python
ls -la /usr/bin/python
echo "Press any key to continue..."
read
else
rm $TOGGLE
sudo ln -fs python2 /usr/bin/python
ls -la /usr/bin/python
echo "Press any key to continue..."
read
fi
答案 1 :(得分:1)
Catalina现在使用zsh
作为默认值,而不是Bash。
要验证您使用的是哪个shell,请在终端中输入echo $0
将alias python='python3'
添加到$ HOME / .zshrc
答案 2 :(得分:0)
您将必须编辑终端的配置文件,通常位于~/.profile
下
在此处添加别名行,此文件在启动终端会话时加载,并导出环境变量和方法,以便可以在该会话中访问它们
我建议使用更强大的终端增强功能,例如Z-Shell