I have emacs 24.1.1, which comes with GNU's python.el in byte-compiled form at emacs/24.1/lisp/progmodes.
I downloaded Fabian Gallina's python.el (note the same name) and placed it at emacs/site-lisp, which is part of emacs' load-path.
When I edit a Python file, it is Gallina's mode which is loaded, NOT GNU's. However, I have not put (require 'python) in my .emacs file, despite what Gallina's documentation suggests.
Why is this? Why does Gallina's python.el take precedence over GNU's? Why does it get loaded without (require 'python)?
To load an already loaded library from new place, write in your Emacs init-file something like
(unload-feature...
(load FROM-NEW-PLACE...
Understanding which python mode is loaded by emacs / Aquamacs and why