首页 > 解决方案 > 枕头坏了 - 哈希冲突::1 和 1 均为 22

问题描述

我的 Pillow 安装在系统范围内损坏。

无论是使用我的 osx 枕头版本,还是在 anaconda 环境中使用其他“隔离”安装,我在尝试处理图像时总是遇到同样的错误:

AccessInit: hash collision: 22 for both 1 and 1

它曾经在环境中工作,但经过一些urllib安装后,它也在环境中崩溃了。

我已经尝试过,在我的脚本顶部(无济于事):

import PIL.Image
sys.modules['Image'] = PIL.Image
from PIL import Image

我已经卸载了重新安装的 Pillow,再次无济于事。

我的蟒蛇:

Python 2.7.14 |Anaconda, Inc.| (default, Oct  5 2017, 02:28:52) 
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

有人可以指导我,以便我可以让它再次工作吗?

标签: pythonpython-imaging-libraryhash-collision

解决方案


您的问题可能是两个不同的 Python 模块以相同的名称导入 - https://web.archive.org/web/20110121072135/https://jaredforsyth.com/blog/2010/apr/28/accessinit-hash -collision-3-both-1-and-1/

如果无法访问您的安装,很难确切地知道发生了什么,所以我建议跟踪每个导入。一个好的开始是查看导入的内容。

import sys
sys.modules

结合进入 Python 安装的 site-packages 目录并手动删除包,直到找到有问题的包,这将有望为您提供一个良好的开端。


推荐阅读