Let’s say I want to have a project called webproject, and this project has own user with the same name to access the project directory. And this is supposed to be a python project and it needs virtual environment. also I want the project has specific python version 2.7 with virtualenv. So let’s get started.
First you may have to check your python version if it is already installed python 2.7 otherwise you’re gonna have to download and install it, but if you prefer to not use python 2.7, let’s say version 2.6, or whatever. That’s fine as well.
Something related:
Install different version of Python in linux
Let’s start with install the virtualenv via apt in ubuntu
$ apt-get install python-virtualenv virtualenvwrapper
Create user and setup home directory
$ useradd -m webproject -d /srv/webproject
Change user to webproject, until you’re inside the home directory project
$ sudo su - webproject
Create virtual environment with virtualenv with python version 2.7
$ virtualenv ~/venv --python=2.7
Or, if you prefer not to use spesific python version, just run the command like this:
$ virtualenv ~/venv
Now, inside your home directory, there is a new directory named venv that contained your python binary.
You might want to put this line of code inside your .bash_history or .profile inside your home directory, so whenever you try to change user, it is automatically activate your python virtual environment.
$ vim ~/.profile
....
....
source ~/venv/bin/activate
and save the file.
Now, try to change user to webproject:
$ sudo su - webproject
(venv)webproject@localhost:~$