问题描述
我在 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
中。为什么不包含此路径?
解决方法
您需要使用 pipx。输入“pipx 注入 jupyterlab numpy scipy matplotlib 等等等等”。 这会将这些模块安装到 jupyterlab 虚拟环境中。