在Mac上删除并重新安装Python-我可以相信这些旧参考吗?


36

我是Mac的新手,显然我犯了某种错误。我一直在通过教程学习python,并且在Homebrew,Pip和XCode之间学习了我的版本。Pip3指向python2,因此我所有的python3试用都失败了,等等。

我正在研究如何安全地删除所有版本,然后进行全新安装(自制软件?),但我有点紧张。

我找到了一些很好的链接:

显然,它不会触及根/system目录中的任何内容,并且基本上删除了其他所有内容。使我感到紧张的是,此链接已过时了。(六年!+)我不确定我是否真的信任他们。

最近有人来过这里吗?我可以信任上面链接的帖子吗?如何清理此python版本混乱?注意:我正在使用MacOS Sierra(10.12.5)

Answers:


34

因此,我最终删除了所有python安装程序,并通过Homebrew重新安装了这些程序。

  1. which python---> /Library/Frameworks/Python.framework/Versions/2.7/bin/python 从中删除整个Python.framework目录/Library/Frameworks
  2. which python3---> /usr/local/bin/python3 删除整个python3目录。
  3. 我对符号链接有些紧张。最初,我重命名了那些显然会给我带来麻烦的文件。事实证明那是不必要的。相反,只需使用:

    $ brew doctor
    Warning: Broken symlinks were found. Remove them with 'brew prune':
      /usr/local/bin/python-32
      /usr/local/bin/python2-32
      /usr/local/bin/python2.7-32
      /usr/local/bin/python2_DNU
      /usr/local/bin/python_DNU
      /usr/local/bin/pythonw-32
      /usr/local/bin/pythonw2-32
      /usr/local/bin/pythonw2.7-32

    因此,brew prune(或brew cleanup --prune在较新版本的Homebrew中)效果很好。它删除了所有上述符号链接。

  4. 通过自制软件重新安装python和python3。全部做完。

我从未动过该/System文件夹中的python安装。

哦,要清楚。原始问题的答案是

是的,您可以相信所写的旧参考书!该指导仍然有效。


@nohillside thx但是..您可以很容易地在这里确认XXXX的最新输入,这些输入在此处提示您进行编辑。对您来说似乎是一个奇怪的归因缺失。.不允许newby发表评论吗?现在我自己看不到提交名称。
zipzit

获得归属的最好方法是在需要编辑的情况下实际编辑帖子,这是所有用户(甚至是匿名用户)都可以做的事情。如果用户选择发布改进评论作为答案,我通常只需将其编辑到相关帖子中即可。
nohillside

python的自制软件版本将不支持Xcode或工具,例如我最后检查的凿子。因此,通常不建议这样做。
nyteshade

只需提及/System/Library/Frameworks/Python.framework/绝不能删除,请链接docs.python.org/3/using/mac.html
ivan.proskuryakov

新版本已进行啤酒清理
GraphicalDot

5

我的Python版本是3.6,我想升级到3.7(以防您有类似的要求)。我使用的是macOS 10.12.6版,只是卸载并重新安装对我有用:

brew uninstall --ignore-dependencies python3

然后:

brew install python3

并做了:

python3
Python 3.7.2 (default, Jan 13 2019, 12:51:54) 
[Clang 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

这对我来说很好。我也需要调整ipython手动编辑启动脚本路径-以点到Python的BREW版本
javadba

0

系统文件受系统完整性保护保护。如果不先rm -rf禁用SIP,将无法按照以下说明对/ System中的随机文件夹进行操作。

但是,由于文件受到保护,因此您知道文件尚未被修改。您的“版本混乱”将归因于您的Shell设置,并且无论如何都不会通过修改系统文件来更改。您不应触摸保证存在于macOS中的这些文件。

Homebrew分别安装在/ usr / local / Cellar中。使用Homebrew管理您的Python安装,并完全忽略系统安装。


是的,可以信任这两个引用吗?或者是,不信任它们?这些参考文献似乎是高质量的,有充分的理由,并且解释得非常详细。
zipzit

1
@zipzit您可以信任它们,但是它们将无法工作-这是两件分开的事情。内容值得信赖;在最新版本的macOS上尝试使用它,不会造成任何危害,但由于此答案中给出的原因,它也不会起作用。我强烈建议不要仅为了删除系统Python安装而禁用SIP(这就是为什么我没有链接说明),因为这不是问题的真正原因,也无助于解决任何问题,并可能在此过程中引起更多问题。
grg

你的回答对我来说没有意义。上面链接的优质答案中没有任何一项涉及/system。无=不为1,零,邮政编码,Nada。在1)Applications文件夹中的Python 3.3文件夹中有一些要删除的内容。2)/Library/Frameworks/Python.framework 3)/ usr / local / bin中有20个符号链接。4)外壳路径中的引用(如果存在)。我认为这些都不会达到您所谈论的保护。我想念什么?
zipzit

@zipzit不久前,Python从/ Library移至/ System / Library,因此您将触摸/ System尝试删除系统安装。系统Python框架位于/System/Library/Frameworks/Python.framework中,而不是/ Library中。
grg

$which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3加上python System/Library/Frameworks/Python.framework/Versions/...
2.3、2.4、2.5、2.7
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.