本人不小心安装了3.9,使用numpy出现了“RankWarning: Polyfit may be poorly conditioned”,需要彻底删除python 3.9 的各种包,链接和文件。
1. 删除3.9 的框架
@macbook ~ $ which python # 默认python版本,mac自带
/usr/bin/python
@macbook ~ $ which python3 #查询pyton3 位置
/Library/Frameworks/Python.framework/Versions/3.9/bin//python3
@macbook ~ $ python3 --version # python3 版本
Python 3.9.0
@macbook ~ $ sudo rm -rf /Library/Frameworks/Python.framework/Versions/3.9
Password:
2. 删除Python 3.9 应用目录:
@macbook Applications $ cd /Applications
@macbook /Applications $ ls # 查看,含有python 3.9 目录
...
iMovie.app
Keynote.app Python 3.9
...
@macbook /Applications $ sudo rm -rf Python\ 3.9/
此时launchpad中python3的IDLE就被删除了
3. 删除/usr/local/bin 目录下指向的Python3.9 的连接:
@macbook bin $ ls -l /usr/local/bin
total 0
lrwxr-xr-x 1 root wheel 66 Oct 12 13:39 2to3 -> ../../../Library/Frameworks/Python.framework/Versions/3.9/bin/2to3
lrwxr-xr-x 1 root wheel 70 Oct 12 13:39 2to3-3.9 -> ../../../Library/Frameworks/Python.framework/Versions/3.9/bin/2to3-3.9
lrwxr-xr-x 1 zouxiaohui admin 28 Oct 12 11:47 brew -> /usr/local/Homebrew/bin/brew
lrwxrwxr-x 1 root admin 78 Oct 12 13:40 easy_install-3.9 -> ../../../Library/Frameworks/Python.framework/Versions/3.9/bin/easy_install-3.9
lrwxr-xr-x 1 root wheel 67 Oct 12 13:39 idle3 -> ../../../Library/Frameworks/Python.framework/Versions/3.9/bin/idle3
。。。
使用ls -l
查看文件,发现很多文件软连接着python 3.9 的文件,要全部删除。怕麻烦的小伙伴可以对着python3.9的链接的文件全部手动删除,一般不到15个,也挺快,
还可以用 grep 挑选结合xargs:
ls -l /usr/local/bin | grep "../Library/Frameworks/Python.framework/Versions/3.9" | awk '{print $9}' | xargs rm -rf
@macbook bin $ ls -alh
total 0
drwxrwxr-x 3 zouxiaohui admin 96B Oct 14 20:59 .
drwxr-xr-x 14 root wheel 448B Oct 12 10:50 ..
lrwxr-xr-x 1 zouxiaohui admin 28B Oct 12 11:47 brew -> /usr/local/Homebrew/bin/brew
# 查看软连接已经全部删除了
4.删除安装包信息:
@macbook bin $ pkgutil --pkgs | grep "org.python.*-3.9" # 查看3.9的安装包
org.python.Python.PythonUnixTools-3.9
org.python.Python.PythonApplications-3.9
org.python.Python.PythonDocumentation-3.9
org.python.Python.PythonFramework-3.9
这儿注意我用pkgutil --pkgs | grep org.python.*-3.9
不加双引号就不行,可能是因为我用的zsh和bash重的grep 不一样所致。
pkgutil --pkgs | grep "org.python.*-3.9"|xargs sudo pkgutil --forget
Password:
Forgot package 'org.python.Python.PythonUnixTools-3.9' on '/'.
@macbook bin $ pkgutil --pkgs | grep "org.python.*-3.9"|xargs sudo pkgutil --forget
Forgot package 'org.python.Python.PythonApplications-3.9' on '/'.
@macbook bin $ pkgutil --pkgs | grep "org.python.*-3.9"|xargs sudo pkgutil --forget
Forgot package 'org.python.Python.PythonDocumentation-3.9' on '/'.
@macbook bin $ pkgutil --pkgs | grep "org.python.*-3.9"|xargs sudo pkgutil --forget
Forgot package 'org.python.Python.PythonFramework-3.9' on '/'.
@macbook bin $ pkgutil --pkgs | grep "org.python.*-3.9"|xargs sudo pkgutil --forget
一直重复以上命令直至不出现任何输出即可
重新查看所有的包都被删除了
@macbook bin $ pkgutil --pkgs | grep "org.python"
5. 删除python3.9 的环境路径
@macbook bin $ vim ~/.zshrc #将export $PAHT语句中的python3.9 的环境变量设置删除
6. 确认python 3.9是否已经删除
zouxiaohui@macbook bin $ python3 #python 3.9 已经删除,剩下的是默认的pyton3.8
Python 3.8.2 (default, Aug 25 2020, 09:23:57)
[Clang 12.0.0 (clang-1200.0.32.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.