Python 2.7 Can';不要在Python2.7中导入模块,即使pip说它已安装

Python 2.7 Can';不要在Python2.7中导入模块,即使pip说它已安装,python-2.7,pip,python-imaging-library,pillow,Python 2.7,Pip,Python Imaging Library,Pillow,我已经阅读了很多关于使用枕头或图像代替PIL的帖子,但是我仍然对这个模块有问题 我在10.9.5的MBP上运行这个 我使用pip安装了image 1.5.5和Pillow 3.4.2。但是,当我在脚本中导入模块时,它总是说没有该名称的模块 first.last@localhost:/usr/local/bin> pip freeze | grep Pillow Pillow==3.4.2 first.last@localhost:/usr/local/bin> pip freeze

我已经阅读了很多关于使用枕头或图像代替PIL的帖子,但是我仍然对这个模块有问题

我在10.9.5的MBP上运行这个

我使用pip安装了image 1.5.5和Pillow 3.4.2。但是,当我在脚本中导入模块时,它总是说没有该名称的模块

first.last@localhost:/usr/local/bin> pip freeze | grep Pillow
Pillow==3.4.2
first.last@localhost:/usr/local/bin> pip freeze | grep image
image==1.5.5
first.last@localhost:/usr/local/bin> which pip
/usr/local/bin/pip
first.last@localhost:/usr/local/bin> which python
/usr/local/bin/python

Python 2.7.10 (v2.7.10:15c95b7d81dc, May 23 2015, 09:33:12) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import image
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named image
>>> import PIL
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named PIL
>>> import Pillow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named Pillow
>>> import pillow
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named pillow

从我在设置/环境中展示的内容来看,有人能为我指出解决此问题的一般方向吗?调试此功能还需要其他信息吗?

由于您在virtualenv之外工作,因此应启用用户站点。使用以下命令查找图像和/或枕头的安装位置:

pip show -f image | grep Location
pip show -f pillow | grep Location
您可能希望看到的是:

Location: /Users/<your_username>/.local/lib/python2.7/site-packages
您希望在输出中看到的是

sys.path = [
   ...
]
USER_BASE: '/Users/<your_username>/.local' (exists)
USER_SITE: '/Users/<your_username>/.local/lib/python2.7/site-packages' (exists)
ENABLE_USER_SITE: True
sys.path=[
...
]
用户基础:'/Users/.local'(存在)
USER_SITE:“/Users//.local/lib/python2.7/SITE-packages”(存在)
启用用户站点:True

如果安装位置在您的用户站点中,并且您的用户站点已启用,则导入将起作用

盒子上运行的python只有一个版本吗?@roymustang86,在/usr/local/bin中有一个版本,在/usr/bin/中有“stock”版本,但正如我所展示的,我运行的pip和python都来自/usr/local/bin位置谢谢提示。我认为这一半就解决了这个谜。由于pip8.x.x,我的大多数旧模块都安装在/Library/Python/2.7/site-packages。枕头和图像都安装在/usr/local/lib/python2.7/site-packages。我认为对于这个问题,我已经尝试将pip从8.x.x更新到9.0.1,因为其中一个SO链接说使用了PIP9。既然安装9.0.1更改了“Location”的值,那么如何将位置设置为/Library/Python/2.7/site-packages for pip?
python -m site
sys.path = [
   ...
]
USER_BASE: '/Users/<your_username>/.local' (exists)
USER_SITE: '/Users/<your_username>/.local/lib/python2.7/site-packages' (exists)
ENABLE_USER_SITE: True