Ipython 模块未找到,但 python shell 导入正确?

Ipython module not found, but python shell imports correctly?

为什么 ipython 会话不能导入模块而 python shell 会话可以?两者都是在相同的data_science环境下执行的?

 (data_science) C:\Users\ddonovan>python
    Python 3.6.5 | packaged by conda-forge | (default, Apr  6 2018, 16:13:55) [MSC v.1900 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import pandas as pd
    >>> pd.core.common.is_list_like = pd.api.types.is_list_like
    >>> import pandas_datareader.data as web
    >>> exit()

    (data_science) C:\Users\ddonovan>ipython
    Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)]
    Type 'copyright', 'credits' or 'license' for more information
    IPython 6.4.0 -- An enhanced Interactive Python. Type '?' for help.

    In [1]: import pandas as pd

    In [2]: pd.core.common.is_list_like = pd.api.types.is_list_like

    In [3]: import pandas_datareader.data as web
    ---------------------------------------------------------------------------
    ModuleNotFoundError                       Traceback (most recent call last)
    <ipython-input-3-bc32bb8bec34> in <module>()
    ----> 1 import pandas_datareader.data as web

    ModuleNotFoundError: No module named 'pandas_datareader'

他们使用的好像不一样python:

Python 3.6.5 | packaged by conda-forge | (default, Apr  6 2018, 16:13:55) [MSC v.1900 64 bit (AMD64)] on win32

不等于:

Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)]

检查这一点的一种方法是打印 python 可执行文件的路径:

>>> import sys
>>> print(sys.executable)
C:\path\to\python.exe

我猜您没有在 data_science 环境中安装 ipython。当您从 CMD 提示符调用 ipython 时,它默认返回基本 Anaconda 环境并从 C:\Program Files\anaconda3\Scripts(或基本安装所在的任何位置)启动。

您可以通过以下几种方式查看:

使用康达。 运行 conda list -n data_science ipython 来自 CMD。如果 IPython 没有出现在已安装的打包列表中,则您 运行ning 来自基础环境。

在哪里使用。 运行where ipython。如果这不指向 data_science 环境中的路径,那么您 运行ning 来自基本环境。

使用python。从 CMD 启动 ipython,然后 运行

import sys
sys.executable

如果输出不是 data_science 环境的路径,您可能 运行 来自基础环境。


要解决您的问题,请使用 conda 安装 IPython:

conda install ipython -n data_science