I am testing out the ipython package for Emacs 24.3.1 on Ubuntu 14.04. First, I installed both ipython and python-mode using the package manager M-x list-packages. For debugging, I simplified my init file ~/.emacs to:
(setq debug-on-error t)
(require 'package)
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
("marmalade" . "http://marmalade-repo.org/packages/")
("melpa" . "http://melpa.milkbox.net/packages/")))
(package-initialize)
(require 'ipython)
First question, why is package-initialize and require 'ipython needed? I thought this would work automatically out of the box after installing from the package manager?
Second question, when I run M-x py-shell I get the following screen shot (t.py is test Python script):

As seen, I get an error from IPython:
Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'olors' is not defined