vim编译错误的python版本(而不是使用所需的版本)
简单来说:
我有一个问题,编译vim与首选python版本。 这是我正在做的更详细的内容: % git clone https://github.com/b4winckler/macvim.git % cd macvim % ./configure --enable-pythoninterp --with-python-config-dir=/usr/local/lib/python2.7/config <- this option has no affects on result ... checking for python... /usr/local/bin/python checking Python version... 2.7 checking Python is 1.4 or better... yep checking Python's install prefix... /usr/local checking Python's execution prefix... /usr/local checking Python's configuration directory... /usr/local/lib/python2.7/config ... % make ... ** BUILD SUCCEEDED ** % open src/MacVim/build/Release/MacVim.app 在打开的MacVim我的类型: :py import sys; print (sys.version,sys.executable) ('2.6.1 (r261:67515,Jun 24 2010,21:47:49) [GCC 4.2.1 (Apple Inc. build 5646)]','/usr/bin/python') 为什么是2.6.1? 之后,我尝试用动态python重新编译vim: % ./configure --enable-pythoninterp=dynamic ... output the same ... % make % open src/MacVim/build/Release/MacVim.app 打开MacVim: :py import sys 这里有一个错误: E370: Could not load library libpython2.7.a E263: Sorry,this command is disabled,the Python library could not be loaded. 我的OSX版本是10.6.8。 % which python /usr/local/bin/python 有没有人可以在编译过程中解释python如何集成到vim中? 更新:我不再有这个问题描述的环境。所以我无法测试新的答案。但是,人类的剩余部分将会感谢你的帮助。
我有同样的问题。我从源代码编译Macvim,并试图使用macports中的python版本2.7:
/opt/local/bin/python 没有找到某些模块,例如os模块。原因是macvim内的PYTHONPATH变量是错误的! 要测试,打开macvim并键入: :python print sys.path 我得到以下路径(注意结尾,这是废话): ... /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.5/' ... 我假定是链接器标志“-framework Python”的原因。这是错误的,即系统python框架。如果我更改src / auto / configure脚本中的行: if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then vi_cv_path_python_plibs="-framework Python" 至 if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then vi_cv_path_python_plibs="-F/opt/local/Library/Frameworks -framework Python" 再次运行配置,清洁后,Macvim按预期编译和工作。 -F标志告诉链接器在哪个目录中找到以下框架。 Macports在此目录YMMV中安装Python.framework。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |