为什么我应该将 Python 包安装到 `~/.local` 中?

Mat*_*kin 5 python

背景

  1. 我不使用 OS X 系统提供的 Python 版本进行开发(在 OS X 10.6 上,即 Python 2.5.4 和 2.6.1)。
  2. 对于操作系统提供的 Python 版本,我没有在 site-packages 目录中安装任何东西。(唯一的例外是从二进制包安装 Mercurial,它会在 Python 2.6.1 站点包目录中安装两个包。)
  3. 我安装了三个版本的 Python,都使用 Mac OS X 安装程序磁盘映像:
    1. 蟒蛇 2.6.6
    2. 蟒蛇 2.7
    3. 蟒蛇 3.1.2
  4. 我不喜欢污染我的 Python 安装的 site-packages 目录。所以我只在site-packages目录下安装了以下五个基础包。有关用于安装这些的实际方法/命令,请参阅SO Question 4324558
    1. 设置工具/ez_setup
    2. 分发
    3. 点子
    4. 虚拟环境
    5. 虚拟包装器
  5. 所有其他软件包都安装在 virtualenvs 中。
  6. 我是这台 MacBook 的唯一用户。

问题

  1. 鉴于上述背景,我为什么要安装五个基本包~/.local?由于我将这些基本包安装到我已安装的 Python 发行版的 site-packages 目录中,因此我与 OS X 的 Python 发行版隔离。
  2. 使用这种方法,我是否应该关注 Glyph 的评论,即其他事情可能会破坏(请参阅下面的评论)?

同样,我只对安装这五个基本软件包的位置感兴趣。

相关问题/信息

我问是因为GlyphSO 问题 4314376 的回答的评论,其中指出:

不。永远不要做sudo python setup.py install任何事。编写一个 ~/.pydistutils.cfg,将您的 pip 安装放入 ~/.local 或其他东西。特别是命名的文件ez_setup.py往往会吸收更新版本的东西,比如 setuptools 和 easy_install,这可能会破坏操作系统上的其他东西。

之前,我问过为 Python 安装 pip、virtualenv 和分发的正确方法是什么?. 然而,没有人回答使用~/.local.

Ned*_*ily 4

没有特别好的理由支持或反对.local使用框架构建来安装 Mac OS X。Python 核心开发人员在这一点上仍然存在一些争议,Glyph 认为,在 Python 2.6 中为其他Unixy.local系统引入的位置应该用于 Mac OS X 并简化第三方安装过程,而其他人则认为以前的传统安装过程Mac OS X 框架构建的位置更加自然。最终,这取决于你。特别是如果您使用虚拟环境,如果它有效,请不要担心。