为vim的:python命令指定Python解释器

13

(Mac)Vim 似乎选择了 /usr/bin/python,而不是在我的路径前面的那个(/Library/Frameworks/Python.framework/Versions/2.6/bin/python),当我使用 :python 命令时。这完全是编译时的事情,还是我可以以某种方式覆盖它?

1个回答

14

看起来这完全是编译时的事情:

$ ldd /usr/bin/vim | grep python
libpython2.5.so.1.0 => /usr/lib/libpython2.5.so.1.0 (0xb6bcc000)

我的vim --version也报告了构建时使用的特定python版本。

$ vim --version | tr '-' '\n' | grep python
+python +quickfix +reltime +rightleft +ruby +scrollbind +signs +smartindent 
I/usr/include/python2.5 
L/usr/lib/python2.5/config 
lpython2.5 

这种情况的另一个症状是,除非vim --version报告+python,否则:python命令无法在vim中正常工作。


1
+1,正确的,vim确实设计为使用(嵌入)它编译和链接的Python库(如果有的话)--当然,这也是任何C或C++应用程序嵌入Python的正常方式。 - Alex Martelli
谢谢Paul和Alex。我已经重新编译了MacVim,结果并没有像我预想的那么痛苦。 - dwf
请注意,Paul 目前可能编写了最简单的方法!我使用 ipython(安装在系统python中)向我想要“使用”的python内核发送命令。 python-mode 或类似工具也支持这种行为(虽然其大量使用 :python可能需要您重新编写 run#Run 函数)。这实际上只是对于使用 :python 运行事物而言的一个限制,你只需要为 vim 本身编写脚本时使用它。 - Dav Clark
1
看起来现在不是这种情况。我不知道细节。我只是尝试了 :python import sys; print sys.executable;,它确实受到 $PATH 的影响。 - Hot.PxL
1
可以通过在~/.zshrc/上添加export PYTHONPATH="/home/user-name/anaconda3/lib/python3.5/site-packages":$PYTHONPATH来使用其他位置的Python库。然而,这不会改变解释器。 - joelostblom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接