For a single developer, Git ( book ) is better suited for convenience. You can "commit" locally very easily, and push changes to a remote server, which could be your EC2 instance, it just needs an SSH connection to work. But I would probably go with a hosted solution like GitHub or any other hosting solution that has SSH and the ability to install Git. I use GitHub for my public projects and DreamHost for my "private" projects.
You would put all your files in one directory structure and then deploy them using some automated process. For Python I would suggest something Python standard like distutils or even easy_install. For more complicated environments, you want to consider something like Chef, which will be extremely important if you start scaling out to more than a single EC2 instance. Even without the multiple server needs something like Chef for repeatable automated deployments is what an efficient developer does.
Just don't get tempted to write a "quick and dirty" shell script to do deployments, they are brittle and very un-maintainable. If you don't like Chef, research alternatives and take the time to learn one. The time spent will be made up for down the line.