Assuming that you already have pip or easy_install installed on your python distribution, I would like to know how can I installed a required package in the user directory from within the script itself.
From what I know pip is also a python module so the solution should look like:
# ... do "pip install --user zumba" or throw exception <-- how?
Thanks to @Joop I was able to come-up with the proper answer.
try: import zumba except ImportError: import pip pip.main(['install', '--user', 'zumba']) import zumba
One important remark is that this will work without requiring root access as it will install the module in user directory.
Not sure if it will work for binary modules or ones that would require compilation, but it clearly works well for pure-python modules.
Now you can write self contained scripts and not worry about dependencies.