建议使用 homebrew 处理 pip(easy_install)的方法?

建议使用 homebrew 处理 pip(easy_install)的方法?

我知道brew-gembrew-pip但还是很容易混淆。假设我的 Mac OS X 是 10.7.2。

  • 据我所知,Python 模块至少有 3 个位置(假设 2.7):
    1. /系统/库/框架/Python.framework/版本/2.7/
    2. /库/Python/2.7/站点包
    3. /usr/local/lib/python2.7/site-packages/(在 homebrew 内控制)
  • 对于某些 Python 模块,点子将它们安装到2,即所谓的本地/自定义 Python 模块位置,一切看起来都很好,运行也很好。例如,阅读行经过简易安装伊帕特里克建议我安装阅读行经过简易安装代替点子
  • 对于某些程序,它会尝试将一些杂项文件(例如,man、doc 等)安装到系统范围的位置,这需要须藤! 前任,伊帕特里克坚持安装男人文档进入/系统/库/框架/Python.framework/版本/2.7/共享/,这违反了权限问题,我所能做的就是使用须藤
  • 对于通过以下方式安装的一些 Python 模块酿造,它们符号链接到/usr/local/lib/python2.7/站点包/。一切似乎都很好,只是你必须记住将此位置添加到python 路径

我想知道是否有任何建议的、统一的方法来处理这些问题,或者有任何解释可以让这些问题变得清晰明了。

答案1

也许是时候考虑使用虚拟环境。Virtualenv 使用您指定的 Python 版本创建自包含的 Python 环境。激活新的虚拟环境后,您使用 pip 安装的所有内容都会进入该环境。这有助于避免您描述的情况。

例如,使用默认的 python 创建并激活一个新的 python 环境:

# create environment
$ virtualenv --distribute myproject
New python executable in myproject/bin/python
Installing distribute...done.
Installing pip...done.

# activate environment
$ . ./myproject/bin/activate

# check default python
(myproject)$ which python
/Users/me/myproject/bin/python

建议使用--distribute选项来指示在新环境中应使用分发来安装软件包,而不是(较旧的)setuptools。激活后,您的命令提示符将更改为指示哪个 python 环境处于活动状态。

现在安装一些包。文件将进入 myproject 目录:

# install django
(myproject)$ pip install django
...

# search for django dir
(myproject)$ find myproject -iname django
myproject/lib/python2.7/site-packages/django

最后,停用:

# deactivate and check for default python
(myproject)$ deactivate
$ which python
/usr/bin/python

要使用非默认版本的 Python 创建环境:

$ virtualenv --distribute -p /path/to/custom/python mynewproject

默认情况下,virtualenv 会将您用于引导它的 Python 版本安装的所有软件包复制到新环境中。要防止这种情况并创建一个空环境,请使用该--no-site-packages选项。这对于创建可以精确复制的环境(例如从开发到生产)特别有用。

更新:从 1.7 版本开始--no-site-packages已成为 virtualenv 的默认行为。

如果你想要了解更多详细信息,网上有很多教程和博客文章。例如:

  1. 关于在 Django 中使用 pip 和 virtualenv 的注释。(该帖子的大部分内容与 Django 无关)
  2. 使用虚拟环境。

尝试一下吧,我相信你会坚持下去。

笔记:确保您的可执行脚本没有硬编码 Python 解释器。即,它们的第一行应该是#!/usr/bin/env python而不是类似这样的内容#!/usr/bin/python

答案2

我的建议:

  1. 通过以下方式安装 xcode 命令行工具包 Xcode -> 偏好设置 -> 下载 -> 组件xcode

  2. 安装 homebrew(升级你的路径.profile.SHELLrc或任何包含的内容/usr/local/bin 系统默认的就行/usr/bin)。

  3. 对于 python,首先自行安装所有先决条件:

    • brew install readline sqlite gdbm pkg-config
    • brew install python --framework --universal
    • 更新你的路径以便它使用正确的 distutils:export PATH=/usr/local/share/python:$PATH
  4. easy_install pip

  5. pip install virtualenv
  6. pip install virtualenvwrapper
  7. 包括export PYTHONPATH=/usr/local/lib/python:$PYTHONPATH

相关内容