导入包在 jupyter notebook 中有效,但在 iPython 和 Anaconda cmd 中无效
Import package works in jupyter notebook but not in iPython and Anaconda cmd
在搜索这个问题时,我遇到了一些相反的问题,即包在 iPython 中打开,但在 Jupyter Notebook 中没有打开。但就我而言,情况恰恰相反。这就是我发布这个问题的原因。
我在环境变量中添加了path\to\anaconda3
和path\to\anaconda3\Lib\site-packages
,但没有解决问题
我可以在 site-packages
文件夹中看到这些包:
但是我无法导入 iPython 中的一些包:
或在 anaconda cmd 中使用 python:
但它在 Jupyter Notebook 中运行良好:
do/can 我该怎么做才能解决这个问题?
如果有帮助,请查看更多信息:
(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 所示下面。
当您使用 matplotlib
(并且 seaborn
建立在它之上)时,它需要使用一个所谓的后端,用于显示带有绘图的实际 GUI 一次你执行例如 matplotlib.pyplot.show()
.
当您 运行 内联模式下带有 matplotlib 的 Jupyter Notebook(我认为是默认设置,但不确定)时,将使用特定于 Jupyter 的后端 (module://ipykernel.pylab.backend_inline
)。这是有道理的,因为这些图不应该出现在单独的 windows 中,而是应该显示在笔记本内部。
当您处于交互式 python 或 iPython 会话中时,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
您还可以通过在 C:\Users\<your name>\.matplotlib\
中使用
创建 matplotlibrc
文件来更改加载到 TkAgg 的默认后端
backend : TkAgg
在里面。
在搜索这个问题时,我遇到了一些相反的问题,即包在 iPython 中打开,但在 Jupyter Notebook 中没有打开。但就我而言,情况恰恰相反。这就是我发布这个问题的原因。
我在环境变量中添加了path\to\anaconda3
和path\to\anaconda3\Lib\site-packages
,但没有解决问题
我可以在 site-packages
文件夹中看到这些包:
但是我无法导入 iPython 中的一些包:
或在 anaconda cmd 中使用 python:
但它在 Jupyter Notebook 中运行良好:
do/can 我该怎么做才能解决这个问题?
如果有帮助,请查看更多信息:
(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 所示下面。
当您使用 matplotlib
(并且 seaborn
建立在它之上)时,它需要使用一个所谓的后端,用于显示带有绘图的实际 GUI 一次你执行例如 matplotlib.pyplot.show()
.
当您 运行 内联模式下带有 matplotlib 的 Jupyter Notebook(我认为是默认设置,但不确定)时,将使用特定于 Jupyter 的后端 (module://ipykernel.pylab.backend_inline
)。这是有道理的,因为这些图不应该出现在单独的 windows 中,而是应该显示在笔记本内部。
当您处于交互式 python 或 iPython 会话中时,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
您还可以通过在 C:\Users\<your name>\.matplotlib\
中使用
matplotlibrc
文件来更改加载到 TkAgg 的默认后端
backend : TkAgg
在里面。