如何在Mac OS X 10.6.4操作系统上卸载Python 2.7 ?

我想从我的Mac OS X 10.6.4中完全删除Python 2.7。通过返回.bash_profile,我成功地从PATH变量中删除了条目。但我还想删除Python 2.7安装包安装的所有目录、文件、符号链接和条目。我已经从http://www.python.org/中获得了安装包。我需要删除哪些目录/文件/配置文件条目?哪里有名单吗?

1076531 次浏览

不要试图删除任何apple提供的/System/Library/usr/bin中的系统Python,因为这可能会破坏整个操作系统。


注意: 下面列出的步骤not会影响apple提供的Python 2.7;它们只删除第三方Python框架,如python.org installers


完整的列表是记录在这里。基本上,你所需要做的就是:

  1. 移除第三方Python 2.7框架

     sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
    
  2. 删除Python 2.7 applications目录

     sudo rm -rf "/Applications/Python 2.7"
    
  3. 移除/usr/local/bin中指向此Python版本的符号链接。看到他们在使用

     ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7'
    

然后执行以下命令删除所有链接:

    cd /usr/local/bin/
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm
  1. 如果有必要,编辑你的shell配置文件以删除将/Library/Frameworks/Python.framework/Versions/2.7添加到你的PATH环境文件中。根据您使用的shell,以下任何文件都可能被修改: ~/.bash_login~/.bash_profile ~/.cshrc~/.profile ~/.tcshrc ~/.zshrc和/或~/.zprofile。李< / >

这个可行:

cd /usr/local/bin/
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm
< p >描述: 它列出所有链接,删除@字符,然后删除它们

如果您使用PKG安装程序安装它,您可以:

pkgutil --pkgs

或更好:

pkgutil --pkgs | grep org.python.Python

它将输出如下内容:

org.python.Python.PythonApplications-2.7
org.python.Python.PythonDocumentation-2.7
org.python.Python.PythonFramework-2.7
org.python.Python.PythonProfileChanges-2.7
org.python.Python.PythonUnixTools-2.7

现在可以选择要断开(删除)的包。

这是断开链接的文档:

 --unlink package-id
Unlinks (removes) each file referenced by package-id. WARNING: This command makes no attempt to perform reference counting or dependency analy-
sis. It can easily remove files required by your system. It may include unexpected files due to package tainting. Use the --files command first
to double check.

在我的例子中,您将输入

pkgutil --unlink org.python.Python.PythonApplications-2.7
pkgutil --unlink org.python.Python.PythonDocumentation-2.7
pkgutil --unlink org.python.Python.PythonFramework-2.7
pkgutil --unlink org.python.Python.PythonProfileChanges-2.7
pkgutil --unlink org.python.Python.PythonUnixTools-2.7

或者只用一行:

pkgutil --pkgs | grep org.python.Python | xargs -L1 pkgutil -f --unlink

重要提示:—以Lion开头的unlink不再可用(截至2014年第一季度,包括Lion, Mountain Lion和Mavericks)。如果有人试图用lion来使用这个说明,应该尝试用这篇文章所说的来适应它:_on_Mac_OS_X https://wincent.com/wiki/Uninstalling_packages_ (.pkg_files)

不需要卸载旧的python版本。

只要安装新版本,比如python-3.3.2-macosx10.6.dmg 并将python的软链接更改为新安装的python3.3

使用以下命令查看默认的python和python3.3路径

"which python"和"which python3.3"

然后删除现有的python软链接并将其指向python3.3

关于删除符号链接,我发现这很有用。

find /usr/local/bin -lname '../../../Library/Frameworks/Python.framework/Versions/2.7/*' -delete

请注意: 如果您使用Homebrew安装Python,则可以按照以下步骤进行安装,否则请寻找其他解决方案!


要卸载使用Homebrew安装的Python 2.7.10,可以简单地发出以下命令:

brew uninstall python

同样,如果你想卸载Python 3(你是用Homebrew安装的):

brew uninstall --force python3

试图卸载Python

brew uninstall python

删除本机安装的Python,而是使用brew安装的版本。

Onur Güzel在他的博客文章从OS X卸载Python包中提供了解决方案。

您应该在终端中输入以下命令:

  1. < p > sudo rm -rf /Library/Frameworks/Python.framework

  2. < p > cd /usr/local/bin

  3. < p > ls -l . | grep '../Library/Frameworks/Python.framework' | awk '{print $9}' | xargs sudo rm

  4. < p > sudo rm -rf "/Applications/Python x.y"

    其中x.y命令是安装的Python版本。根据你的问题,应该是2.7。

用Onur的话说:

警告:此命令将删除包中安装的所有Python版本。系统提供的Python不受影响。

如果你从python.org上安装了多个Python版本,那么再次运行第四个命令,将"x.y"要卸载的Python的每个版本。

不需要卸载它或疯狂地使用符号链接,只需使用alias。我在升级到python 3.7.1时也遇到了同样的问题 只需使用brew install python安装新的python版本,然后在你的.bash_profile中创建一个指向新python版本的别名;例如:alias python="/usr/local/bin/python3"然后保存并运行source ~/.bash_profile.
做。< / p >

如果你正在考虑手动删除苹果默认的Python 2.7,我建议你先搁置,然后什么都不要做:看起来苹果很快就会为你做这件事:

Python 2.7在OSX 10.15 Catalina中已弃用

Python 2.7-以及Ruby &Perl-在Catalina中已弃用:(跳到"脚本语言运行时 . xml" > "< em >与< / em >"部分)

https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_release_notes

苹果将在OSX 10.16中删除Python 2.7

事实上,如果你什么都不做,根据 Mac观察者,到OSX 10.16版本,Python 2.7将从你的系统中消失:

https://www.macobserver.com/analysis/macos-catalina-deprecates-unix-scripting-languages/

鉴于这一发现,我建议最好的做法是什么都不做,等待苹果为你抹掉它。由于Apple即将为您删除它,因此似乎不值得冒险修补您的Python环境。

请注意:我看到这个问题特别与OSX v 10.6.4有关,但似乎这个问题已经成为所有OSX人员从他们的系统中删除Python 2.7的一个关键点,无论他们运行的是什么版本。

创建到最新版本的符号链接

 ln -s -f /usr/local/bin/python3.8 /usr/local/bin/python

关闭并打开一个新终端

并尝试

 python --version

从python 2.7.16升级到python 3.9时,我也遇到了同样的问题,只需使用brew install python安装新的python版本,或者下载并安装到您的操作系统即可

  1. sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
    
  2. sudo rm -rf "/Applications/Python 2.7"
    
  3. ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7'
    
  4. then check ->python --version

  5. 在你的.bash_profile创建一个别名指向新的python版本;是这样的:

    alias python="/usr/local/bin/python3"
    

    然后保存并运行源代码~/.bash_profile

  6. < p >检查→python --version

都准备好了

在这里你会看到所有预安装的python版本,包括2.3、2.4甚至2.7。

/System/Library/Frameworks/Python.framework/Versions

但是,即使有sudo,我不这么认为,你将能够删除他们。你会得到一个错误——Operation not permitted

这是我在Mac OS上使用的方法

  1. 下载最新的Python 3。x从https://www.python.org/downloads/mac-osx/

  2. 安装Python当你点击安装程序时,会出现安装步骤

  3. < p > ln -s -f /usr/local/bin/python3.9 /usr/local/bin/python

  4. < p > ln -s -f /usr/local/bin/pip3 /usr/local/bin/pip

  5. 打开一个新的终端窗口并验证python --version。应该是3.x

对于第3步,通过检查which python的输出来确认现有python可执行文件的路径

当试图删除某些python库时,注意,Mac OS需要python! 不要删除以下文件夹中的任何Python版本:

/usr/bin
system/Library

这些Python 2.7版本由Apple安装,并用于Mac OS和其他软件。从这些目录中删除Python可能会破坏系统。

在安装了python3brew的MacOS上:

sudo ln -s -f /opt/homebrew/bin/python3 /usr/local/bin/python
sudo ln -s -f /opt/homebrew/bin/pip3 /usr/local/bin/pip

打开终端

python --version
pip --version

安装新的python版本 编译安装python 在.bash_profile或.zprofile中创建别名,如下所示: 别名python =“/ usr /地方/ bin / python3" 做。< / p >