Jupyter lab安装/导入包

3
我正在尝试为我使用的笔记本安装plotnine。 我已完成以下操作:
  1. 使用Python 3.6创建了一个conda环境,并添加了plotnine

  2. 启动已激活上述环境的jupyter lab

  3. 在笔记本中,我添加了以下行:!conda install -c conda-forge --yes plotnine

然而,我的输出没有意义。 首先它说所有请求的软件包都已安装,然后它说找不到该模块。

!conda install -c conda-forge --yes plotnine
from plotnine import *

Solving environment: done

# All requested packages already installed.

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-386ef81e08ff> in <module>()
     11 get_ipython().system('conda install -c conda-forge --yes plotnine')
     12 ######
---> 13 from plotnine import *     # python clone of ggplot2
     14 matplotlib.rcParams['figure.figsize'] = [12, 8]
     15 matplotlib.rcParams['lines.linewidth'] = 2

ImportError: No module named 'plotnine'

如果存在已知冲突,这里是完整的导入语句:
import gsc # proprietary module
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
from ipywidgets import interact, FloatSlider
from util_demo import *
# adding installation of plotnine, which is not included by default
# import sys
!conda install -c conda-forge --yes plotnine
######
from plotnine import *     # python clone of ggplot2
matplotlib.rcParams['figure.figsize'] = [12, 8]
matplotlib.rcParams['lines.linewidth'] = 2
matplotlib.rcParams['xtick.labelsize'] = 24
matplotlib.rcParams['ytick.labelsize'] = 24
matplotlib.rcParams['legend.fontsize'] = 24
matplotlib.rcParams['axes.labelsize'] = 24

编辑:我还在jupyter笔记本中检查了sys.path,得到了以下结果。我没有看到任何关于conda的信息。我应该更新PATHPYTHONPATH吗?

['',
 '/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python35.zip',
 '/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5',
 '/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin',
 '/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload',
 '/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages',
 '/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/IPython/extensions',
 '/Users/adamg/.ipython']

在不同的单元格中运行是否解决了问题? - undefined
将plotnine的导入语句单独放在下面的一个单元格中并不能起作用。 - undefined
你在新环境中安装了Jupyter Lab(或至少安装了ipykernel)并确保你的笔记本正在使用该内核吗? - undefined
我刚刚将jupyterlab包(其中包括ipykernel)添加到环境中,但这并没有解决问题。当我加载jupyter lab时,我没有选择将内核更改为该环境的选项。它只列出了Python 2和3。 - undefined
@DavideFiocco - 这个问题似乎比只有 plotnine 更广泛。例如,我在 statsmodels 中也遇到了类似的问题。 - undefined
显示剩余2条评论
2个回答

8

我也遇到了同样的问题。看起来我的Jupyter Lab笔记本正在运行基础内核而不是虚拟环境的内核。请输入

import sys
sys.executable

将其复制到您的笔记本中。 对于我来说,我得到了结果。

'/anaconda3/bin/python'

而不是期望的

'/anaconda3/envs/myenv/bin/python'

我通过按照 iPython 文档 中的说明解决了这个问题。简单来说,您需要为新环境安装一个新的 iPython 内核。运行以下命令:

conda install -n myenv ipython
conda activate myenv
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"

然后,在新环境中运行Jupyter Lab:

conda activate myenv
jupyter lab

当您打开一个新笔记本时(也适用于现有笔记本的右上角),您应该能够选择内核“Python(myenv)”。


1

#首先尝试使用pip install并重新运行;下面的代码行应该解决这个问题:

pip install plotnine


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接