I have seen several posts about this problem. I just had the problem and solved it. However, none of the several posts I read had the answer that applied in my case. I did not read ALL of the posts mentioning this problem so some of them may have had an applicable answer.
If you are a linux noob like me you might run into this problem. The problem is caused by the fact that web2py/wsgi do not have the privileges to write to the directory that holds you application. If you have set up wsgi to run as a daemon as www-data then www-data must have access to the applications directories. You should NEVER let web2py or wsgi (the daemon) be root. If you did, then anyone who managed to get into your web2py admin site with your root password could write arbitrary python code and execute which could do anything to your server because root has access to everything. If the daemon is www-data and you allow www-data GROUP