我使用Python 2和Python 3支持编译了Vim的开发版本。 vim --version
的输出中包含+python/dyn
和+python3/dyn
。我运行配置文件
G
./configure --enable-pythoninterp --enable-python3interp --with-python-config-dir=/usr/lib64/python2.7/config --with-python3-config-dir=/usr/lib64/python3.3/config --with-x --with-features=huge
然而,当我运行:python import sys; print(sys.version)
时,我得到了
E448: Could not load library function _PyArg_Parse_SizeT
E263: Sorry, this command is disabled, the Python library could not be loaded.
为什么会这样?我发现因为YouCompleteMe声明它需要使用2.x支持编译Vim。
由于
答案 0 :(得分:16)
我的Debian盒子上有类似的问题。如果您使用的是基于Debian的系统,则无法同时加载两个Python库。这就是为什么当您设置--enable-python-interp
和--enable-python3-interp
时,它们始终使用/ dyn后缀加载。
如果您的vim插件不需要两个版本,您应该选择其中一个版本并坚持下去。以下链接提供了更多信息。
Explained by Debian maintainer
P.S。 - 如果您在Windows上也尝试过这种方法,加载任何Python版本都会有效,因此/ dyn不是问题所在。