gpt4 book ai didi

python - Vim with python 支持环境变量

转载 作者:太空狗 更新时间:2023-10-30 00:08:18 25 4
gpt4 key购买 nike

如果我在 vim 命令行中输入

:python import os;print os.getenv('PYTHONPATH')

我得到一条路如果我关闭 vim 并在同一个终端上执行

echo $PYTHONPATH

我得到了另一条完全不同的路径这是为什么,vim 从哪里得到这条路径?这是相关的,因为自动完成无法找到模块,因此它不起作用。我知道这一点,因为如果我再次从 vim cli 尝试

:python import django

失败了但是如果我退出 vim 并输入

python
>>> import django

没有显示错误!这里发生了什么?我正在使用 virtualenv,我检查了激活源并且没有更改 PYTHONPATH。我在没有 virtualenv 的情况下尝试了这个,同样的问题。

更新:我在编译之前用来配置 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

最佳答案

PYTHONPATH 是一条红色鲱鱼:这不是 virtualenv 用来配置自身的。 virtualenv 通过向 PATH 添加前缀来工作,该前缀指向备用 python 可执行文件的位置,覆盖系统 python

Vim 的问题是 Python 嵌入不查看 Python 可执行文件或 PATH:它查找并加载 libpython 库,virtualenv 不虚拟化它.这意味着 Vim 将始终初始化系统 Python,而不管任何 virtualenv。

然而,一切并没有丢失:Vim 仍然可以在自己的 Python 初始化之后运行 virtualenv 的初始化脚本。 Jeremy Cantrell 编写了一个 Vim 插件来帮助自动执行此操作,这应该可以解决您的问题:

关于python - Vim with python 支持环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7494285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com