This document is still a scratch
Setup A Workplace
You’ll want a directory to do this in so that you don’t screw up your machine. Here’s what I did:
$ cd ~/ $ mkdir -p Envs/Python && cd Envs/Python $ export DEPLOY=$PWD
That last bit is so you can refer to this deployment directory with
(which I’ll be using in the instructions from now on).
You’ll probably want to get 2.7 for your deployment, let's download the source code first:
$ cd /tmp $ wget http://python.org/ftp/python/2.7.4/Python-2.7.4.tgz
Type this command to automatically install some dependences:
$ sudo apt-get build-dep python2.7
Make sure you bring in other -dev packages that are listed in follow:
These packages are not shipped in early ubuntu versions (like 10.04), do a check to make sure:
lxml if you want to install it later:
MySQLdb (which is acturally named MySQL-python in pypi) if you want to install it later
The final result of
./configure --prefix=$DEPLOY may looks like follows:
Python build finished, but the necessary bits to build these modules were not found: _tkinter bsddb185 dl gdbm imageop sunaudiodev To find the necessary bits, look in setup.py in detect_modules() for the module's name.
It will show you the modules that can not be build, note that some of them are unnecessary or deprecated:
- bsddb185: Older version of Oracle Berkeley DB. Undocumented. Install version 4.8 instead.
- dl: For 32-bit machines. Deprecated. Use ctypes instead.
- imageop: For 32-bit machines. Deprecated. Use PIL instead.
- sunaudiodev: For Sun hardware. Deprecated.
- _tkinter: For tkinter graphy library, unnecessary if you don't develop tkinter programs.
Make Install Python
$ tar -xvf Python-2.7.4.tgz $ cd Python-2.7.4 $ ./configure —prefix=$DEPLOY $ make $ make install
After this you will have a bunch of new directories in $DEPLOY:
$ ls $DEPLOY bin include lib share source
Let's make a test by put this new bin directory into your $PATH:
$ export PATH=$DEPLOY/bin:$PATH
then you just try it out to make sure that you have the right one:
$ which python $DEPLOY/deploy/bin/python $ python Python 2.7.4 (default, Nov 27 2012, 22:30:50) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Operating system fanatics will scoff at putting the python install in this directory, so if you want you can just install it to the default /usr/local on your system and deal with all the various clashes and conflicts you’ll have, especially if you are on an MacOSX machine.
Install virtualenv and virtualenvwrapper
Now we need to create a “virtual environment” to install all your software. To do this we’ll need easy_install installed to your $DEPLOY directory:
wget http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg#md5=fe1f997bc722265116870bc7919059ea sh setuptools-0.6c11-py2.7.egg
or (the latest):
wget https://bitbucket.org/pypa/setuptools/raw/0.8/ez_setup.py -O - | python
if path in output information is not match with $DEPLOY, add
--prefix=$DEPLOYafter the command
As you can see, you now have a clean install of easy_install in your fresh $DEPLOY/bin directory for you to use. Now you need to install virtualenv:
$ pip install virtualenv $ which virtualenv $DEPLOY/bin/virtualenv
Make sure you use --prefix $DEPLOY above or you’ll install things into the default system setup even though easy_install is clearly and obviously running from a Python in a totally different location so easy_install should know that.
$ pip install virtualenvwrapper
if you follow the step of kubuntu_deployment_for_pc.rst the installaion is done.
if not, you should add some configurations in shell environment,
paste the following code to your
export PYTHONENV=$HOME/Envs/Python export PYTHONSTARTUP=$HOME/.pystartup # for virtualenvwrapper export VIRTUALENVWRAPPER_PYTHON=$PYTHONENV/bin/python export VIRTUALENVWRAPPER_VIRTUALENV=$PYTHONENV/bin/virtualenv export WORKON_HOME=$PYTHONENV/virtualenvs export PROJECT_HOME=$HOME/workspace/current source $PYTHONENV/bin/virtualenvwrapper.sh
restart your shell, now following commands are avaliable, test arould:
$ mkvirtualenv TORNADO $ pip install tornado $ cdsitepackages
These tools should work under system python environment, so let's make easy_install and pip available in normal situation:
$ sudo sh setuptools-0.6c11-py2.7.egg $ sudo easy_install pip
ipython is a full-stack python shell, for a quick install you can just:$ sudo apt-get install ipython ipython-notebook ipython-qtconsole