With this approach, you can even have multiple copies with dependencies on different versions of the same modules installed on the same machine.
This is a great idea in general. There are other benefits as well, esp if you don't have access to the target machine (e.g. you really need the most up to date module and a sysadmin you are dealing with may balk at installing it for you because it could break someone else's code; sysadmins with their own fiefdoms may not want to bother installing any extra stuff in addition to your modules; you want to give a normal user the ability to install/use your module; etc).