Python中mac自带的Python framework环境有什么特别之处吗?

用的时候感觉经常遇到问题。
今天无意中在 vscode 把 Python interpreter 设置成了 mac 自带那个,居然出现了 warning,建议我更换。


Python中mac自带的Python framework环境有什么特别之处吗?
24 回复

virtualenv 了解一下


Mac自带的Python环境(通常位于/System/Library/Frameworks/Python.framework/Library/Frameworks/Python.framework)是系统的一部分,主要用于支持系统工具和脚本。它的主要特别之处在于:

  1. 系统集成与保护:它由Apple维护,与macOS深度集成。系统更新(包括安全更新)可能会修改或升级它。直接修改或删除它可能破坏系统功能,因此通常不建议在此环境安装第三方包。

  2. 权限限制:默认需要sudo权限才能安装或修改该环境的包,这增加了操作门槛和风险。

  3. 版本可能滞后:系统自带的Python版本通常不是最新的,可能缺少新特性。

核心建议:对于日常开发,强烈建议使用pyenvconda或官方安装包来管理独立的Python环境,完全避免使用系统Python。这样可以自由安装包、切换版本,且不影响系统稳定性。

一句话总结:别动系统自带的Python,用虚拟环境或版本管理工具。

python3 -m venv 了解一下


你们说的我知道= = 我的问题是 mac 的 python 环境有什么特别之处吗,以至于很多人都选择绕开去用虚拟环境或者 anaconda ?

因为如果你不小心删除 /升级了系统自带的包,可能会把整个系统弄崩溃

mac 自带 py 2.7,这个环境你不能动,因为系统有很多工具依赖它,如果你想在 py 3.x 或者其他版本下开发,你肯定要做虚拟环境

自带的版本太老还不太敢更新…

anaconda,表示已经不能离开它了。

环境隔离是为了各自瞎折腾都不会影响到其他人。而不是说各自都有什么特别之处。mac 系统自带那套,还有 centos 系统自带的 python 环境,都是被一些系统组件依赖的。 你也不希望把系统搞挂了吧。

系统自带的不要乱动,出了问题一定是连锁反应

貌似下次升级系统之后更新的 Python 环境又被替换

踩过坑,不要删它。不介意的话,建议使用 anaconda

不回答 lz 的提问,你就是在自说自话,规避问题

+1 管理方便

anaconda docker 镜像你值得拥有。

系统要用所以不允许改动,很多包装不上,给权限都不行。不应该折腾,应该保持独立。brew 再装个版本就行了,随便折腾

macOS 自带的 Python 安装了 pyobjc,方便 macOS 官方的一些程序(比如 Automator、Xcode 等)直接调用系统层面 API,建议不要随意使用该环境或是随意升级该环境原有的包,可能会造成系统内部某些脚本无法正常运行的情况。楼主可以看我前几天发的帖子,有一个我写的插件就算调用了系统的这个 Python 环境。macOS 自带这个 Python 环境有没有好处呢,答案是肯定的,既方便苹果公司( Xcode 要调用这个环境),也方便用户(否则的话,用户如果想使用我的那个插件,得先下载个 Python。我们开发者还好说,要是小白用户就很难了。)

PS:以上出于个人理解,如有不对请多多谅解。

建议下个 brew 用 brew 另外安装 python2 python3 ruby 什么的 不用系统自带的

我用 anaconda,可以分开管理 tf 和 tf-gpu, 灰常方便

#12 抱歉,我阅读理解没跟上,毕竟起初只有片言只语的描述。

系统自带的有一套 cocoa 的库。挺好用的

学习了,感谢楼上各位。

不要用自的很多坑,有些包还安装不上

回到顶部