Python3未列出Vim 8中安装的pip模块

2024-04-30 06:17:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为mac os中的Vim设置deoplete。这方面的一个要求是安装pynvim,这是我用pip3 install pynvim做的

现在在Vim中,:python3 import pynvim抛出一个错误ImportError: No module named pynvim。但是,在Vim之外,pip3 list列出了包pynvim。我不明白这里出了什么问题

我收集了一些信息,根据这些信息,我认为我应该能够得到一些帮助来防止这个错误

  • 从Vim,:echo exepath('python3')返回/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
  • 在Vim中,python3 help('modules')没有列出包pynvim。有趣的是python3 help('modules')还显示了一个警告/usr/local/opt/python@3.8/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/setuptools/distutils_patch.py:25: UserWarning: Distutils was imported before Setuptools. This usage is discou raged and may exhibit undesirable behaviors or errors. Please use Setuptools' objects directly or at least import Setuptools first.。从这个警告中,我们可以看到Vim环境使用的是python3.8,而不是python3.6,它与echo exepath('python3')返回的内容冲突
  • pip3 -V返回pip 20.2.1 from /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pip (python 3.6)
  • ls -l /usr/local/bin/python*显示
/usr/local/bin/python -> /usr/local/bin/python3.6
/usr/local/bin/python3 -> ../Cellar/python@3.8/3.8.5/bin/python3
/usr/local/bin/python3-config -> ../Cellar/python@3.8/3.8.5/bin/python3-config
/usr/local/bin/python3.6 -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6
/usr/local/bin/python3.6-config -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6-config
/usr/local/bin/python3.6m -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m
/usr/local/bin/python3.6m-config -> ../../../Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m-config
/usr/local/bin/python3.8 -> ../Cellar/python@3.8/3.8.5/bin/python3.8
/usr/local/bin/python3.8-config -> ../Cellar/python@3.8/3.8.5/bin/python3.8-config

看起来我的mac上有多个Python版本把事情搞砸了。我如何摆脱这种混乱并防止Vim错误


Tags: configbinusrlocal错误pip3libraryframework
1条回答
网友
1楼 · 发布于 2024-04-30 06:17:30

根本问题与Vim编译有关。在我的例子中,我的Vim是使用Python3支持编译的,因此它使用系统Python3.8作为解释器,所有模块都来自这个系统Python3.8路径。我们可以通过在.bashrc/.zshrc等中添加$PYTHONPATH来改变这一点: export PYTHONPATH="/home/user-name/your-python-path/site-packages":$PYTHONPATH。通过这样做,Vim可以访问$PYTHONPATH中任何地方的所有模块

相关问题 更多 >