我为什么要将Python包安装到`〜/ .local`中?

时间:2010-12-29 21:46:12

标签: 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 site-packages目录中安装两个包。)
  3. 我安装了三个版本的Python,全部使用Mac OS X安装程序磁盘映像:
    1. Python 2.6.6
    2. Python 2.7
    3. Python 3.1.2
  4. 我不喜欢污染我的Python安装的site-packages目录。所以我只在site-packages目录中安装以下五个基本软件包。有关用于安装这些的实际方法/命令,请参阅SO Question 4324558
    1. setuptools/ez_setup
    2. distribute
    3. pip
    4. virtualenv
    5. virtualenvwrapper
  5. 所有其他软件包都安装在virtualenvs中。
  6. 我是这款MacBook的唯一用户。
  7. 问题

    1. 鉴于上述背景,我为什么要在~/.local中安装五个基本软件包?由于我将这些基础软件包安装到我安装的Python发行版的site-packages目录中,因此我与OS X的Python发行版隔离开来。
    2. 使用这种方法,我是否应该关注Glyph关于其他事情可能会破坏的评论(见下面的评论)?
    3. 同样,我只对安装这五个基本软件包的位置感兴趣。

      相关问题/信息

      由于Glyphmy answerSO question 4314376的评论,我问的是:{/ p>

        

      NO。从来没有sudo python setup.py install无论如何。写一个〜/ .pydistutils.cfg,将你的pip安装放到〜/ .local或其他东西。特别是名为ez_setup.py的文件往往会破坏setuptools和easy_install之类的新版本,这可能会破坏操作系统上的其他内容。

      以前,我问What's the proper way to install pip, virtualenv, and distribute for Python?。但是,没有人回答使用~/.local的“原因”。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

从2020年开始,我认为将Python软件包安装到.local中并不是一个好主意,而是使用virtualenv为每个软件包创建一个单独的环境。

我的原因

虽然安装到.local中不会干扰系统范围的Python,但是安装到.local中的几个软件包之间仍然会发生冲突。

注:如果您喜欢virtualenv,也可以使用pipx