簡體   English   中英

Python3 未列出 Vim 8 中安裝的 pip 模塊

[英]Python3 not listing the pip installed modules in Vim 8

我正在嘗試在 mac os 中為 Vim 設置 deoplete。 對此的一個要求是安裝我用pip3 install pynvim pynvim

現在在 Vim 中, :python3 import pynvim會拋出錯誤ImportError: No module named pynvim 但是,在 Vim 之外, pip3 list列出了 package pynvim 我不明白這里出了什么問題。

我已經收集了一些信息,我認為我應該能夠根據這些信息獲得一些幫助來防止這個錯誤。

  • 從 Vim 中, :echo exepath('python3')返回/Library/Frameworks/Python.framework/Versions/3.6/bin/python3
  • 從 Vim 開始, python3 help('modules')沒有列出 package 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. /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 錯誤?

根本問題與 Vim 編譯有關。 在我的例子中,我的 Vim 是在 Python3 支持下編譯的,所以它使用系統 python3.8 作為解釋器,所有模塊都來自這個系統 python3.8 路徑。 我們可以通過在.bashrc/.zshrc等中附加到$PYTHONPATH來更改它: export PYTHONPATH="/home/user-name/your-python-path/site-packages":$PYTHONPATH 通過這樣做,Vim 可以訪問$PYTHONPATH中任何位置的所有模塊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM