Python 恐怖;和zipimporters从pkgutil消失。iter_进口商()
我有一个Django实例,它神秘地无法导入memcache。。。之后(运行一段时间后发生的未知事件) 灯配置:Python 恐怖;和zipimporters从pkgutil消失。iter_进口商(),python,import,egg,python-import,Python,Import,Egg,Python Import,我有一个Django实例,它神秘地无法导入memcache。。。之后(运行一段时间后发生的未知事件) 灯配置: RHEL 5.7 Apache 2.2.3 mod_wsgi 2.3(动态链接到Python2.5.4.so) Python 2.5.4 Django 1.2 memcache位于:/usr/local/lib/python2.5/site packages/python\u memcached-1.44-py2.5.ee/memcache.pyc 如果我打开一个命令shell,并
- RHEL 5.7
- Apache 2.2.3
- mod_wsgi 2.3(动态链接到Python2.5.4.so)
- Python 2.5.4
- Django 1.2
/usr/local/lib/python2.5/site packages/python\u memcached-1.44-py2.5.ee/memcache.pyc
如果我打开一个命令shell,并导入memcache
,它就可以正常导入
有一段时间,在Django中,importmemcache
工作正常
但是在一些未知事件之后,导入失败:ImportError:没有名为memcache的模块
就在故障点之前,我记录了系统路径,路径明确地包括/usr/local/lib/python2.5
和/usr/local/lib/python2.5/站点包
我还记录了对pkgutil.iter_importers()
的响应,并发现了一些有趣的事情:在故障点,iter_importers没有任何zipimporter功能——它是一个zipimporter,需要查看鸡蛋内部并找到memcache
如果我手动导入memcache,它的功能是:
try:
import memcache
except ImportError:
import zipimport
zi = zipimport.zipimporter('/usr/local/lib/python2.5/site-packages/python_memcached-1.44-py2.5.egg')
memcache = zi.load_module('memcache')
发生了什么事?如果没有解决方法,我该怎么做才能使它正常工作?好的。我找到了答案。Python2.5的os.listdir C在64位计算机上的实现中存在漏洞。当我应用时,一切都会永久地工作