pyenv+pipx导致的Jupyter内核问题

2024-04-28 21:51:44 发布

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

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

我还通过python3.8.6中的pip install pipx安装了pipx,以全局(pipx install jupyterlab)安装jupyter lab,它位于~/.local/pipx/venvs/jupyterlab

似乎已经预装了一个jupyter内核

$ jupyter kernelspec list
Available kernels:
  python3           ~/.pyenv/versions/3.8.6/share/jupyter/kernels/python3

当我执行jupyter lab时,会自动选择这个内核。 但是,在jupyter lab中,我无法导入安装在python3.8.6中的numpy

[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应该在sys.path中。为什么不包括这条路径


Tags: importnumpypyenvvenvslibpackageslocalsys