我一直在尝试使用 mac OS X 10.6 上的 python 2.7 支持编译 vim 7.3 。 Vim本身编译得很好,但嵌入式python并没有那么多。
我采取的步骤:
hg clone https:/vim.googlecode.com/hg/ vim
cd vim/src
./configure --without-x --disable-gui --disable-darwin \
--enable-pythoninterp --with-features=huge
make
make install
这给了我一个工作的vim但没有python。
auto / config.log 表示存在文件错误:
configure:5387: checking if compile and link flags for Python are sane
configure:5404: gcc -o conftest -g -O2
-I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7
-DPYTHON_HOME=\"/Library/Frameworks/Python.framework/Versions/2.7\"
-L/usr/local/lib conftest.c
-L/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config
-lpython2.7 -ldl -framework CoreFoundation
-u _PyMac_Error Python.framework/Versions/2.7/Python >&5
i686-apple-darwin10-gcc-4.2.1: Python.framework/Versions/2.7/Python: No such file or directory
<command-line>: warning: missing terminating " character
configure:5404: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define UNIX 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_WAIT_H 1
| #define FEAT_HUGE 1
| #define USE_XSMP_INTERACT 1
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:5408: result: no: PYTHON DISABLED
无论是否使用 - with-python-conf-dir 选项运行configure,我都会收到此错误。看起来-u _PyMac_Error Python.framework/Versions/2.7/Python
是问题的根源,但我不确定从哪里开始。
有什么建议吗?
答案 0 :(得分:7)
原来这个bug实际上是在Python Makefile中,信不信由你。
打开文件
/usr/local/Cellar/python/2.7.2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config
或适合您的任何路径,并搜索PyMac_Error
。它应该在定义LINKFORSHARED
的行上,在此行中您需要将PYTHONFRAMEWORKDIR
更改为PYTHONFRAMEWORKINSTALLDIR
。然后回到你的vim源和./configure,一切都应该顺利。
还要确保将OS X的Python框架符号链接到Homebrew Cellar中的那些:
/Library/Frameworks/Python.framework/Versions/2.7
/Library/Frameworks/Python.framework/Versions/Current
/System/Library/Frameworks/Python.framework/Versions/2.7
/System/Library/Frameworks/Python.framework/Versions/Current
应该都指向
/usr/local/Cellar/python/2.7.2/Frameworks/Python.framework/Versions/2.7
我不确定为什么我会在很多地方拥有它,或者如果那样糟糕,但它确实如此。
答案 1 :(得分:2)
这不是您问题的直接答案,但安装macports并运行sudo port install vim +python27
是实现目标的一种方式。
答案 2 :(得分:0)
Romainl给出了接受的答案: MacVim 带有命令行版本的vim以及gui版本 - 我不知道的东西 - 我已经用Python 2.7成功编译了MacVim (没有我遇到标准vim源的任何问题)。
使用macports或自制软件不是我看的选项。
N.B。如果有人能够将这个答案交给Romainl,请继续这样做。我只是回答自己关闭这个。