Q:

Already installed pyzmq but still getting "ImportError: No module named zmq"

I am trying to get ipython notebook run.
I already installed pyzmq.
Do you know why it's still giving this error?

A:

The only reason you would be seeing that error (having manually installed pyzmq) is if pyzmq was installed to a different pythonpath than where ipython is running from.
If you followed the install instructions, you should have no problems:
easy_install ipython pyzmq tornado
# or
pip install ipython pyzmq tornado

It is also possible that the installer saw the dependency already satisfied in another location and didn't do anything, and then ipython might be running with a different pythonpath that isn't seeing it. You can force an upgrade of everything:
easy_install -U ipython pyzmq tornado

