python import eventlet包时提示ImportError: cannot import name eventlet

root@zte-desktop:/home/ubuntu/python-threads# cat eventlet.py 
#!/usr/bin python

import eventlet

from eventlet import event
from eventlet import hubs

evt=event.Event()
.......

执行错误:

root@zte-desktop:/home/ubuntu/python-threads# python eventlet.py

Traceback (most recent call last):

File "eventlet.py", line 3, in <module>

import eventlet

File "/home/zte/lyz/python-threads/eventlet.py", line 5, in <module>

from eventlet import event

ImportError: cannot import name event

错误原因:

python 的path环境变量中包含了脚本所在的当前目录。

当前目录下,因为我的脚本名称与eventlet包名称相同,

所以执行脚本导入包时会自动导入当前目录下的eventlet文件,而非eventlet包所在的目录,

故提示cannot import name event。

解放方法:将eventlet脚本换个名字即可,同时,要把当前目录下由于执行eventlet脚本而创建的eventlet.pyc文件删除。