由pyenv + pipx引起的Jupyter内核问题

时间:2020-10-25 21:44:31

标签: python jupyter pyenv pipx

我在 pyenv 中安装了两个版本的python3.7.5和3.8.6。 我通常使用python3.8.6,因此它是全局激活的(pyenv global 3.8.6)。

我还通过pip install pipx在python3.8.6中安装了 pipx ,以全局安装(pipx install jupyterlab jupyter lab ,该文件位于{{ 1}}。

似乎预装了一个jupyter内核。

~/.local/pipx/venvs/jupyterlab

当我执行$ jupyter kernelspec list Available kernels: python3 ~/.pyenv/versions/3.8.6/share/jupyter/kernels/python3 时,将自动选择此内核。 但是,在 jupyter实验室中,我无法导入安装在python3.8.6中的 numpy

jupyter lab

这可能是由于PATH设置造成的。

[1]: import numpy as np

[1]: ---------------------------------------------------------------------------
     ModuleNotFoundError                       Traceback (most recent call last)
     <ipython-input-1-0aa0b027fcb6> in <module>
     ----> 1 import numpy as np

     ModuleNotFoundError: No module named 'numpy'

[2]: import sys sys.path [2]: ['~/', '~/.pyenv/versions/3.8.6/lib/python38.zip', '~/.pyenv/versions/3.8.6/lib/python3.8', '~/.pyenv/versions/3.8.6/lib/python3.8/lib-dynload', '', '~/.local/pipx/venvs/jupyterlab/lib/python3.8/site-packages', '~/.local/pipx/shared/lib/python3.8/site-packages', '~/.local/pipx/venvs/jupyterlab/lib/python3.8/site-packages/IPython/extensions', '~/.ipython'] 应该在~/.pyenv/versions/3.8.6/lib/python3.8/site-packages中。为什么不包含此路径?

1 个答案:

答案 0 :(得分:0)

您需要使用 pipx。输入“pipx 注入 jupyterlab numpy scipy matplotlib 等等等等”。 这会将这些模块安装到 jupyterlab 虚拟环境中。