Первый раз такой вариант вижу. Всегда делал:
virtualenv env (если еще не создан)
source env/bin/activate
pip install то-что-нужно-установить-в-виртуалэнв
По поводу второго вопроса. В Hibernate, если все операции происходят в рамках одной сессии (Hibernate Session), то transaction.account и user.accout вернут одну и ту же сущность, поэтому можно безопасно менять ее поля в разных местах кода.