微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vim编译错误的python版本(而不是使用所需的版本)

简单来说:

我有一个问题,编译vim与首选python版本。
当我使用–enable-pythoninterp它编译与系统OSX python版本。
当我使用–enable-pythoninterp = dynamic时,我在尝试:py import sys时在vim中收到错误

这是我正在做的更详细的内容

% 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?
为什么/ usr / bin / python?
我的认python是2.7!它存在于/usr/local/bin / python
我一整天都在寻找解决方案。我找到了这是=dynamic属性(但是这个解决方案没有解释)。

之后,我尝试用动态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。
认python版本是2.7。

% which python
/usr/local/bin/python

有没有人可以在编译过程中解释python如何集成到vim中?
和如何修复与libpython2.7.a错误

更新:我不再有这个问题描述的环境。所以我无法测试新的答案。但是,人类的剩余部分将会感谢你的帮助。

我有同样的问题。我从源代码编译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。

原文地址:https://www.jb51.cc/vim/388737.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐