为什么要使用自制软件安装Python?

为什么要使用自制软件安装Python?,python,macos,installation,homebrew,Python,Macos,Installation,Homebrew,我已经在网上阅读了很多关于使用自制的教程和答案。但是,当谈到Python时,这个建议留给我的问题比答案多 P>我理解这一点,但迄今为止我所看到的答案都没有真正解释为什么使用自制程序>代码>安装 Python ,以及安装 Python >使用 HOBRUW< ,而不是使用Python基金会提供的 OSX/安装程序。p> Python安装程序的最新版本和当前的PIP实现似乎工作得很好,因此我非常感谢您对我的问题提出的任何意见。我使用Python已经有一段时间了,但更多的是从战术的、一次性解决问题

我已经在网上阅读了很多关于使用
自制
的教程和答案。但是,当谈到
Python
时,这个建议留给我的问题比答案多

<> P>我理解这一点,但迄今为止我所看到的答案都没有真正解释为什么使用<代码>自制程序>代码>安装<代码> Python ,以及安装<代码> Python >使用<代码> HOBRUW< <代码>,而不是使用Python基金会提供的<代码> OSX/<代码>安装程序。p> Python安装程序的最新版本和当前的
PIP
实现似乎工作得很好,因此我非常感谢您对我的问题提出的任何意见。我使用Python已经有一段时间了,但更多的是从战术的、一次性解决问题的角度来看,我对
Brew
等工具和
Git
等版本控制软件是全新的。我正在努力加快学习进度。找到一个答案来解释为什么我会选择使用
Homebrew
安装,而不是直接访问python.org并从中下载,然后使用pip安装软件包,这可能会帮助我理解像
Homebrew
这样的工具的好处

所以我想,通过TPF安装的
Homebrew
给了我什么

/Library/Frameworks/
和该框架内的
站点包
文件夹上安装
Homebrew
和Python包的位置是否有优点/缺点

尽管最后一个问题过于宽泛,可能超出了范围,但如果有人也能提出或提供一个链接,就使用
自制
的好处给出一个好的答案,我会很感激的


谢谢,

使用像Homebrew这样的包管理器的最大优点是,它可以更容易地使Python安装保持最新。如果您从网站下载Python,则更新它意味着您需要返回网站并下载Python的新副本(或需要更新的任何可能已安装在自制软件中的内容)

此外,当下载安装程序时,我发现它们往往会把我的下载文件夹弄得乱七八糟,并要求我定期清理未使用的文件。我宁愿把时间花在编码上,而不是管理磁盘空间的使用

使用自制软件更新任何软件包时,命令很简单:

brew upgrade
这将更新随Brew安装的所有过时软件包

现在,这不是自制的东西。Macports、PIP、npm、Maven和其他包管理工具也能够管理您安装的模块或工具的版本


有关更多信息,请参阅。

不在OS X上使用system python的几个原因,从

  • 苹果在保持Python运行时环境的最新方面并不总是做得很好
  • 仅仅为了安装第三方Python库而使用权限可能会很麻烦
  • 最后,苹果有一种趋势,就是每次主要的操作系统升级都会让你的网站包一扫而光

对Python模块(如Homebrew、conda、Macports等)使用独立的包管理器。因此是首选。

Hi@rth。谢谢你的回复。是的,我理解用户安装Python实例与使用苹果版本开发相比的好处,并没有质疑这种智慧。我甚至理解为什么你可能会在TPF上使用EPD或Anaconda这样的发行版。我的问题更多的是为什么是一个包管理器,而不仅仅是TPF dmg和PIP。我可能是想把包管理器当作一种工具来看待,因为我对开源开发的概念相对较新。@AMR那么你实际上是在比较一个包管理器(pip)和另一个包管理器(自制)。两者都能起作用。我猜在OS-X上,Homebrew在处理经典linux软件包方面更实用。比如说,您想安装依赖于
libjpeg
的枕头。如果幸运的话,OS-X将拥有正确版本的
libjpeg
,而
pip安装枕就足够了。不过,更有可能的是,它会提供一些过时的版本,您需要手动编译/安装正确版本的libjpeg(只是一个示例)。这很快就会变得单调乏味,自制软件会为您实现自动化。因此,如果包的依赖项(比如pillow)不是与pypi相关的包,那么pip不会处理这些依赖项,但是像Homebrew或MacPorts这样的不同包管理器可能会处理这些依赖项?是的,我认为这是主要区别。并不是皮普不在乎,而是它对此无能为力。在linux上,
apt get
等允许您管理这些包,因此
pip
对于所有Python模块都足够了。但是在Mac上,如果你不想从源代码手动编译东西,你需要一个像Homebrew这样的包管理器来处理Python包的非Python依赖性。它是Python软件基金会,它的缩写是PSF而不是TPF。我本来会编辑的,但我没有这个选择。我说的TPF是指PSF。抱歉给你带来困惑。你好@jmort253。感谢您的回复和链接。我现在正在努力解决这个问题。我看到同一位作者也写了这篇文章,所以我从这里开始。一个非常自由的类比是,包管理器是开源的,就像Mac App Store是苹果沙盒分布式软件一样吗?一个非常松散的类比,但它仍然是一个类比。苹果商店主要包含软件或软件工具。包管理器也可以包含软件和工具,但有些可以管理软件项目中的依赖项。希望这有帮助!