如何在 Snow Leopard 上使用 Homebrew Python 版本和 Homebrew MacVim?

Ste*_*ngs 14 vim python macvim homebrew

注意:对于 Mountain Lion,请参阅:如何在 Mountain Lion 上使用 Homebrew Python 和 Homebrew MacVim?

我已经在 Mac OS X Snow Leopard 上安装了带有 Homebrew 的 Python 2.7。当我使用 安装 MacVim 时brew install macvim,它会使用 Python 支持进行编译,但会根据系统的 Python 安装进行编译。这可以通过运行以下命令看到:

:python print(sys.version)

2.6.1 (r261:67515, Jun 24 2010, 21:47:49) 
[GCC 4.2.1 (Apple Inc. build 5646)]
Run Code Online (Sandbox Code Playgroud)

但是,Vim 似乎正在使用我路径中的 Python 可执行文件:

:python print(sys.executable)

/usr/local/bin/python
Run Code Online (Sandbox Code Playgroud)

这会导致使用vim_bridge 的Vim 脚本出现问题,例如vim-rst-tables(无法导入模块“re”)。

如何针对我的 Homebrewed Python 版本编译 Vim?

Ste*_*ngs 14

首先,如果您已经安装了 MacVim,请删除它: brew remove macvim

接下来,使用以下命令编辑 MacVim 的公式:brew edit macvim。找到参数列表(以 开头args = %W[ ...),并修改这一行:

--enable-pythoninterp
Run Code Online (Sandbox Code Playgroud)

改成这两行:

--enable-pythoninterp=dynamic
--with-python-config-dir=/usr/local/lib/python2.7/config
Run Code Online (Sandbox Code Playgroud)

(这个配置目录应该被符号链接到/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/Current/lib/python2.7/config

现在,当您使用 重新安装 MacVim 时brew install macvim,它将使用您的 Python 2.7 安装。

:python print(sys.version)

2.7.3 (default, Apr 16 2012, 23:20:02) 
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)]
Run Code Online (Sandbox Code Playgroud)