没有名为枕头的模块



在Windows 10 pro上,我正在运行一个安装了python和jupyter的docker映像。我可以启动 docker 映像,然后从该 shell 启动 jupyter 笔记本。python2 和 python3 内核都可用。PIL 和枕头已安装,但我无法导入它们。见下文:

(我用双星号表示了每个 jupyter 单元格的内容。

然后每个单元格的结果只是在其下方(

**!pip install Image**
Requirement already satisfied: Image in /usr/local/lib/python3.6/dist-packages (1.5.27)
Requirement already satisfied: pillow in /usr/lib/python3/dist-packages (from Image) (5.1.0)
Requirement already satisfied: django in /usr/local/lib/python3.6/dist-packages (from Image) (2.2)
Requirement already satisfied: sqlparse in /usr/local/lib/python3.6/dist-packages (from django->Image) (0.3.0)
Requirement already satisfied: pytz in /usr/lib/python3/dist-packages (from django->Image) (2018.3)
You are using pip version 19.0.3, however version 19.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
**!pip install Pillow**
Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (5.1.0)
You are using pip version 19.0.3, however version 19.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
**!python -m pip install pillow**
Requirement already satisfied: pillow in /usr/lib/python3/dist-packages (5.1.0)
You are using pip version 19.0.3, however version 19.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

**import PIL**
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-7-70d569469e06> in <module>()
----> 1 import PIL
ImportError: No module named PIL

**import PIL.Image**
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-8-df3f6661ddbf> in <module>()
----> 1 import PIL.Image
ImportError: No module named PIL.Image

**import pillow**
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-11-e32915389b2c> in <module>()
----> 1 import pillow
ImportError: No module named pillow

但是当我退出笔记本并在正在运行的 docker 容器中启动交互式 python 会话时,很容易找到 PIL:

root@7092fc2336d3:/# python
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import PIL
>>>

这很奇怪。事实证明,jupyter 中的 pip 正在 python3 站点包中安装,但 jupyter notebook 中的 python 正在查找 python2 站点包。所以当我像这样在Jupyter单元中安装枕头时

!/usr/bin/python2.7 -m pip install Pillow

现在这有效

import PIL.Image

最新更新