Why bother about Python versions?
Building Python from source
The downside is, that Linux distributions do not include the latest Python release yet. Most of them still ship with Python 2.7 as default version. The next Fedora and Ubuntu releases might change that, but for now you need to compile it from source. Luckily that is not a hard task. Go to the download page and grab the latest Python release (recommended if you read the post later and a newer version was released) or past the following command into a terminal.
First make sure you have everything installed to compile Python from source.
sudo apt-get install build-essential
Before downloading create a temporary directory to make the cleanup easier. At the end you can just delete “tmpPython”.
mkdir tmpPython cd tmpPython wget --no-check-certificate https://www.python.org/ftp/python/3.4.0/Python-3.4.0.tgz tar xvf Python-3.4.0.tgz
After the archive is extracted, cd into the source directory. Create a directory to install to, then run configure, build and install.
cd Python-3.4.0 sudo mkdir /opt/Python34 ./configure --prefix=/opt/Python34 && make -j4 sudo make install
Now you have Python 3.4 installed on your system.
Add the the path containing the executable to your environment.
export PATH=/opt/Python34/bin:$PATH
Also make sure to add this line to your .bashrc file (or .zshrc if you’re using zsh).
echo "export PATH=/opt/Python3.4/bin:$PATH" >> $HOME/.bashrc
Creating a virtual environment
Go to the directory where you want to create the virtual environment. I recommend /opt if you collaborate with others within the environment (you have to create everything with sudo) or your home directory if you work alone. Then run pyvenv to create it.
pyvenv-3.4 djangoEnv source djangoEnv/bin/activate
The bash prompt changes to
(djangoEnv) mpei@earth /opt
and that means that you are now within this virtual environment.
This command shows you what you have installed:
pip freeze
Installing Django
sudo pip install django django-extensions
And you’re done! You can check the installed versions by running “pip freeze” again. Maybe another blog post on Django and databases? Or the first steps in Django? We’ll see… bye bye!
Great,thank you! Please forgive my ignorance but, can you tell me how to install Idle for python to work with this?
IDLE is the IDE that comes with Python. So it should already be installed. Did you try to run idle3.4 after you switched to the environment? If you receive something like "** IDLE can't import Tkinter. Your Python may not be configured for Tk. **" then you need to install Tk. You can install the additional idle extensions by running "pip install idlex".
Michael – great post. To restate this – the last step of installing Django needs sudo regardless of you installing from $HOME or /opt. Everything else works as you mentioned.
Cheers,
Ramesh
Thanks for your comment! I updated the post. I tend to forget writing "sudo" since most of the time I jump to a root shell by typing "sudo zsh"…