问题:如何在Mac OS X 10.6.4上卸载Python 2.7?
我想从Mac OS X 10.6.4中完全删除Python 2.7。我设法PATH
通过还原删除了变量中的条目.bash_profile
。但我也想删除所有由python 2.7安装包安装的目录,文件,符号链接和条目。我从http://www.python.org/获得了安装包。我需要删除哪些目录/文件/配置文件条目?某处有清单吗?
I want to completely remove Python 2.7 from my Mac OS X 10.6.4. I managed to remove the entry from the PATH
variable by reverting my .bash_profile
. But I also want to remove all directories, files, symlinks, and entries that got installed by the Python 2.7 install package. I’ve got the install package from http://www.python.org/. What directories/files/configuration file entries do I need to remove? Is there a list somewhere?
回答 0
不要试图删除任何苹果公司提供的系统的Python这是在/System/Library
和/usr/bin
,因为这可能会破坏你的整个操作系统。
注意: 以下列出的步骤不会影响Apple提供的系统Python 2.7;请参阅附录A。他们只会删除第三方Python框架,例如python.org安装程序安装的框架。
完整列表在此处记录。基本上,您需要做的是:
删除第三方Python 2.7框架
sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
删除Python 2.7应用程序目录
sudo rm -rf "/Applications/Python 2.7"
在中删除/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
如有必要,请编辑您的外壳配置文件,以删除添加/Library/Frameworks/Python.framework/Versions/2.7
到您的PATH
环境文件中的操作。根据您所使用的shell,任何下列文件可能已被修改:
~/.bash_login
,~/.bash_profile
,~/.cshrc
,~/.profile
,~/.tcshrc
,和/或~/.zprofile
。
Do not attempt to remove any Apple-supplied system Python which are in /System/Library
and /usr/bin
, as this may break your whole operating system.
NOTE: The steps listed below do not affect the Apple-supplied system Python 2.7; they only remove a third-party Python framework, like those installed by python.org installers.
The complete list is documented here. Basically, all you need to do is the following:
Remove the third-party Python 2.7 framework
sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
Remove the Python 2.7 applications directory
sudo rm -rf "/Applications/Python 2.7"
Remove the symbolic links, in /usr/local/bin
, that point to this Python version. See them using
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7'
and then run the following command to remove all the links:
cd /usr/local/bin/
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm
If necessary, edit your shell profile file(s) to remove adding /Library/Frameworks/Python.framework/Versions/2.7
to your PATH
environment file. Depending on which shell you use, any of the following files may have been modified:
~/.bash_login
, ~/.bash_profile
, ~/.cshrc
, ~/.profile
, ~/.tcshrc
, and/or ~/.zprofile
.
回答 1
这个作品:
cd /usr/local/bin/
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm
描述:列出所有链接,删除@
字符,然后删除它们。
This one works:
cd /usr/local/bin/
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm
Description:
It list all the links, removes @
character and then removes them.
回答 2
如果使用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
重要提示:–unlink从Lion(从2014年第一季度开始,包括Lion,Mountain Lion和Mavericks)不再可用。如果涉及此说明的任何人都尝试将其与狮子一起使用,则应尝试改编本文所讲的内容:https : //wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X
If you installed it using the PKG installer, you can do:
pkgutil --pkgs
or better:
pkgutil --pkgs | grep org.python.Python
which will output something like:
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
you can now select which packages you will unlink (remove).
This is the unlink documentation:
--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.
In my example you will type
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
or in one single line:
pkgutil --pkgs | grep org.python.Python | xargs -L1 pkgutil -f --unlink
Important: –unlink is not available anymore starting with Lion (as of Q1`2014 that would include Lion, Mountain Lion, and Mavericks). If anyone that comes to this instructions try to use it with lion, should try instead to adapt it with what this post is saying: https://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X
回答 3
尝试使用卸载Python
brew uninstall python
将不会删除本机安装了Python,而是版本安装brew
。
Trying to uninstall Python with
brew uninstall python
will not remove the natively installed Python but rather the version installed with brew
.
回答 4
关于删除符号链接,我发现这很有用。
find /usr/local/bin -lname '../../../Library/Frameworks/Python.framework/Versions/2.7/*' -delete
In regards to deleting the symbolic links, I found this to be useful.
find /usr/local/bin -lname '../../../Library/Frameworks/Python.framework/Versions/2.7/*' -delete
回答 5
创建符号链接到最新版本
ln -s -f /usr/local/bin/python3.8 /usr/local/bin/python
关闭并打开一个新终端
并尝试
python --version
Create the symlink to latest version
ln -s -f /usr/local/bin/python3.8 /usr/local/bin/python
Close and open a new terminal
and try
python --version
回答 6
无需卸载旧的python版本。
只需安装新版本,说python-3.3.2-macosx10.6.dmg并将python的软链接更改为新安装的python3.3
使用以下命令检查默认python和python3.3的路径
“哪个python”和“哪个python3.3”
然后删除python的现有软链接并将其指向python3.3
No need to uninstall old python versions.
Just install new version say python-3.3.2-macosx10.6.dmg
and change the soft link of python to newly installed python3.3
Check the path of default python and python3.3 with following commands
“which python” and “which python3.3”
then delete existing soft link of python and point it to python3.3
回答 7
OnurGüzel在他的博客文章“从OS X卸载Python包”中提供了解决方案。
您应该在终端中键入以下命令:
sudo rm -rf /Library/Frameworks/Python.framework
cd /usr/local/bin
ls -l . | grep '../Library/Frameworks/Python.framework' | awk '{print $9}' | xargs sudo rm
sudo rm -rf "/Applications/Python x.y"
其中命令xy是安装的Python版本。根据您的问题,应该是2.7。
用Onur的话来说:
警告:此命令将删除与软件包一起安装的所有Python版本。系统提供的Python不会受到影响。
如果您从python.org安装了多个Python版本,请再次运行第四个命令,为每个要卸载的Python版本更改“ xy”。
Onur Güzel provides the solution in his blog post, “Uninstall Python Package from OS X.
You should type the following commands into the terminal:
sudo rm -rf /Library/Frameworks/Python.framework
cd /usr/local/bin
ls -l . | grep '../Library/Frameworks/Python.framework' | awk '{print $9}' | xargs sudo rm
sudo rm -rf "/Applications/Python x.y"
where command x.y is the version of Python installed. According to your question, it should be 2.7.
In Onur’s words:
WARNING: This commands will remove all Python versions installed with packages. Python provided from the system will not be affected.
If you have more than 1 Python version installed from python.org, then run the fourth command again, changing “x.y” for each version of Python that is to be uninstalled.
回答 8
注意:如果使用Homebrew安装了Python,则可以按照以下步骤操作,否则请寻找其他解决方案!
要卸载使用Homebrew安装的Python 2.7.10,可以简单地发出以下命令:
brew uninstall python
同样,如果要卸载Python 3(使用Homebrew安装),请执行以下操作:
brew uninstall --force python3
Note: If you installed Python using Homebrew, then you can follow the following steps, otherwise look for another solution!
To uninstall Python 2.7.10 which you installed using Homebrew, then you can simply issue the following command:
brew uninstall python
Similarly, if you want to uninstall Python 3 (which you installed using Homebrew):
brew uninstall --force python3
回答 9
无需卸载它或使用符号链接发疯,只需使用即可alias
。升级到python 3.7.1时,我遇到了同样的问题。
只需使用安装新的python版本,brew install python
然后在.bash_profile
创建的别名中指向新的python版本即可;这样:alias python="/usr/local/bin/python3"
然后保存并运行source ~/.bash_profile
。
做完了
No need to uninstall it or going crazy with symbolic links, just use an alias
. I faced the same problem when upgrading to python 3.7.1.
Just install the new python version using brew install python
then in your .bash_profile
create an alias pointing to the new python version; like this: alias python="/usr/local/bin/python3"
then save and run source ~/.bash_profile
.
Done.
回答 10
If you’re thinking about manually removing Apple’s default Python 2.7, I’d suggest you hang-fire and do-noting: Looks like Apple will very shortly do it for you:
Python 2.7 Deprecated in OSX 10.15 Catalina
Python 2.7- as well as Ruby & Perl- are deprecated in Catalina: (skip to section “Scripting Language Runtimes” > “Deprecations“)
https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_release_notes
Apple To Remove Python 2.7 in OSX 10.16
Indeed, if you do nothing at all, according to The Mac Observer, by OSX version 10.16, Python 2.7 will disappear from your system:
https://www.macobserver.com/analysis/macos-catalina-deprecates-unix-scripting-languages/
Given this revelation, I’d suggest the best course of action is do nothing and wait for Apple to wipe it for you. As Apple is imminently about to remove it for you, doesn’t seem worth the risk of tinkering with your Python environment.
NOTE: I see the question relates specifically to OSX v 10.6.4, but it appears this question has become a pivot-point for all OSX folks interested in removing Python 2.7 from their systems, whatever version they’re running.