如果我在vim命令行中输入:
:python import os;print os.getenv('PYTHONPATH')
我得到了一条路径 如果我关闭vim,并在同一个终端上执行以下操作:
echo $PYTHONPATH
我得到了一个完全不同的路径,这是为什么?vim从哪里获取这个路径?这很重要,因为自动补全找不到模块,所以无法工作。我知道这一点,因为如果我再次尝试从vim命令行进行操作...
:python import django
它失败了。但如果我退出 vim 并键入:
python
>>> import django
没有任何错误显示!这是怎么回事?我正在使用virtualenv,检查了激活源,并没有更改PYTHONPATH。我尝试过不使用virtualenv,但出现了同样的问题。
更新:在编译Vim之前,我用于配置Vim源代码的命令行:
./configure --prefix=${HOME}/apps/vim73 --with-features=huge --enable-gui=gnome2 --enable-pythoninterp --enable-rubyinterp --enable-multibyte --with-python-config-dir=/usr/lib/python2.6/config
echo $PYTHONPATH
会发生什么?Python也会在sys.path
之外寻找模块,也就是说你可以尝试在两种情况下进行测试并查看是否相同。 - bjarnehimport vim
,但在vim外部可能会失败。您是否只能获得可以在vim报告的PYTHONPATH
中找到的模块的自动完成? - bjarneh