python - 导入包在 jupyter 笔记本中有效,但在 iPython 和 Anaconda cmd 中无效

标签 python anaconda jupyter-notebook ipython conda

在搜索这个问题时,我遇到了一些相反的问题,即包在 iPython 中打开,但在 Jupyter Notebook 中打不开。但就我而言,情况恰恰相反。这就是我发布这个问题的原因。

我在环境变量中添加了 path\to\anaconda3path\to\anaconda3\Lib\site-packages ,但它并没有解决问题。

我可以在 site-packages 文件夹中看到这些包: enter image description here

但我无法导入 iPython 中的某些包: enter image description here

或者在 anaconda cmd 中使用 python: enter image description here

但它在 Jupyter Notebook 中运行良好: enter image description here

我可以做什么来解决这个问题?

如果有帮助的话,这里还有一些更多信息:

(base) C:\Users\h473>where python
C:\Users\h473\AppData\Local\Continuum\anaconda3\python.exe

(base) C:\Users\h473>where conda
C:\Users\h473\AppData\Local\Continuum\anaconda3\Library\bin\conda.bat
C:\Users\h473\AppData\Local\Continuum\anaconda3\Scripts\conda.exe

(base) C:\Users\h473>where pip
C:\Users\h473\AppData\Local\Continuum\anaconda3\Scripts\pip.exe

P.S.:并非所有软件包都会发生这种情况,只有某些软件包才会发生这种情况,如下面的屏幕截图中的 pandas、numpy 和 matplotlib 所示。

enter image description here

最佳答案

当您使用matplotlib时(并且seaborn是建立在它之上的)它需要使用一个所谓的后端,用于在执行例如matplotlib.pyplot.show()时显示实际的GUI以及其中的绘图。 .

当您在内联模式下运行带有 matplotlib 的 Jupyter Notebook 时(我认为默认,但不确定),则使用 Jupyter 特定后端 ( module://ipykernel.pylab.backend_inline )。这是有道理的,因为绘图不应出现在单独的窗口中,而应显示在笔记本本身内部。

但是,当您处于交互式 Python 或 iPython session 中时,Qt5 被用作

import matplotlib
print(matplotlib.rcParams["backend"]) # this prints the backend that would be loaded when trying anything with pyplot

已透露。由于您收到了错误,看来您的 QT5 安装已损坏。您可以尝试使用 conda 命令重新安装它们,但现在您也可以使用不同的后端,您需要在尝试加载 seaborn 之前指定该后端:

import matplotlib
matplotlib.use("TkAgg")    #use backend TkAgg
import seaborn

您还可以通过创建 matplotlibrc 来更改加载到 TkAgg 的默认后端文件在 C:\Users\<your name>\.matplotlib\

backend      : TkAgg

在里面。

关于python - 导入包在 jupyter 笔记本中有效,但在 iPython 和 Anaconda cmd 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52735313/

相关文章:

python - 如何根据列名通过方法重新采样 Pandas 多索引数据帧

anaconda - 如何解决 Anaconda 中的 "Failed to create process"?

python-2.7 - 无法在jupyter/python2.7.5中使用line_profiler

python - 使用 NLTK 的高效术语文档矩阵

python - 给定一个对象,如何获取在运行时调用的绑定(bind)方法列表

python - MLFlow 项目找不到 conda 可执行文件

python - 如何在conda创建的环境中启动jupyter?

python logging.basicConfig 不会覆盖现有的日志文件

python - 在 Python 中保存和重新加载变量,保留名称

python - 使用 python beautiful soup 和 requests 包时 HTML 内容不正确