找不到模块PIL,但已安装并更新

时间:2018-11-30 08:42:45

标签: python macos scrapy pip python-imaging-library

我正在Mac OS X上下载带有刮擦的图像,它返回以下错误消息:

ModuleNotFoundError: No module named 'PIL'
$ pip install image
Requirement already satisfied: image in /Library/Python/2.7/site-packages (1.5.27)
Requirement already satisfied: django in /Library/Python/2.7/site-packages (from image) (1.11.16)
Requirement already satisfied: pillow in /Library/Python/2.7/site-packages (from image) (5.3.0)
Requirement already satisfied: pytz in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from django->image) (2013.7)

让我们尝试安装映像包:

$ pip install image
Reqfuirement already satisfied: image in /Library/Python/2.7/site-packages (1.5.27)
Requirement already satisfied: django in /Library/Python/2.7/site-packages (from image) (1.11.16)
Requirement already satisfied: pillow in /Library/Python/2.7/site-packages (from image) (5.3.0)
Requirement already satisfied: pytz in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from django->image) (2013.7)

更新点数?

pip install --upgrade pip
Requirement already up-to-date: pip in /Library/Python/2.7/site-packages/pip-18.1-py2.7.egg (18.1)

通过自制软件安装Python

通过sudo进行PIP:sudo pip install image

也尝试过:

easy_install pip
Password:
Searching for pip
Best match: pip 18.1
Processing pip-18.1-py2.7.egg
pip 18.1 is already the active version in easy-install.pth
Installing pip script to /usr/local/bin
Installing pip2.7 script to /usr/local/bin
Installing pip2 script to /usr/local/bin

Using /Library/Python/2.7/site-packages/pip-18.1-py2.7.egg
Processing dependencies for pip
Finished processing dependencies for pip

AND:

brew unlink python && brew link python

更多信息:

File "/usr/local/lib/python3.7/site-packages/scrapy/pipelines/images.py", line 15, in <module>
    from PIL import Image
ModuleNotFoundError: No module named 'PIL'

MBP:bid user$ type python
python is hashed (/usr/local/opt/python/libexec/bin/python)

MBP:bid user$ /usr/local/opt/python/libexec/bin/pip show pip
Name: pip
Version: 18.1
Summary: The PyPA recommended tool for installing Python packages.
Home-page: https://pip.pypa.io/
Author: The pip developers
Author-email: pypa-dev@groups.google.com
License: MIT
Location: /usr/local/lib/python3.7/site-packages
Requires: 
Required-by: 

有什么解决办法吗?

1 个答案:

答案 0 :(得分:1)

您要使用哪个版本的Python?您似乎声称是通过 homebrew 安装了Python,但是您正在使用Apple在/usr/bin/python中提供的Python 2.7,这就是为什么在/Library/Python/2.7中安装了pip的原因。

如果要使用 homebrew Python和pip,则需要运行/usr/local/opt/python/libexec/bin/python。如果您运行,则可以查看所有这些信息:

brew info python

通常,在/anywhere/LOCAL/anywhere中查找或安装的所有内容都是自制软件。任何使用/usr/bin/Library/anywhere的东西都将由Apple提供。


如果您想知道正在运行的实际命令,请像这样使用type

type python
python is hashed (/usr/local/opt/python/libexec/bin/python)

这告诉我,在我的计算机上,python/usr/local/...中的一个,它必须来自 homebrew ,因为它包含/.../LOCAL/...

您的python当前为/usr/bin/python。如果要使用自制软件,则需要在登录配置文件中更改PATH,并将/usr/local/opt/python/libexec/bin放在之前 /usr/bin。例如:

export PATH=/usr/local/opt/python/libexec/bin:$PATH

然后启动一个新的终端,以便您使用新的配置文件运行。


请注意区别:

# Run the old Apple-supplied Python
/usr/bin/python -V
Python 2.7.10

# Run the shiny new homebrew Python
/usr/local/opt/python/libexec/bin/python -V
Python 3.7.1

# Run the homebrew pip - that installs into /something/LOCAL/something - sure sign it is not Apple's
/usr/local/opt/python/libexec/bin/pip show pip
Name: pip
Version: 18.1
Summary: The PyPA recommended tool for installing Python packages.
Home-page: https://pip.pypa.io/
Author: The pip developers
Author-email: pypa-dev@groups.google.com
License: MIT
Location: /usr/local/lib/python3.7/site-packages