Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 恐怖;和zipimporters从pkgutil消失。iter_进口商()_Python_Import_Egg_Python Import - Fatal编程技术网

Python 恐怖;和zipimporters从pkgutil消失。iter_进口商()

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,并

我有一个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,并
导入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位计算机上的实现中存在漏洞。当我应用时,一切都会永久地工作