[[TOC]] = Installation Guidelines: Linux - Developer (Manual) = == Install Python == The latest Python 3.9 version is currently recommended. For Debian-based systems like Ubuntu: {{{ sudo su - apt-get install python3.9 }}} == Install Python Libraries == Linux users should generally use the packages provided for their specific distribution, where available. If you wish to then you can use [wiki:InstallationGuidelines/VirtualEnv VirtualEnv] ==== Mandatory ==== * [http://codespeak.net/lxml lxml] for XML export/import * [http://pypi.python.org/pypi/Shapely/ Shapely] for GIS Features * [http://www.reportlab.com/software/opensource/rl-toolkit/download/ ReportLab] for PDF output * [http://www.pythonware.com/products/pil/ PIL] Python Image Library for PDFs * [http://labix.org/python-dateutil dateutil] On Debian-based systems, like Ubuntu: {{{ sudo su - apt-get install python-lxml apt-get install python-shapely apt-get install python-reportlab apt-get install python-imaging apt-get install python-dateutil }}} ==== Optional ==== * [http://pypi.python.org/pypi/xlwt xlwt] for XLS output * [http://pypi.python.org/pypi/xlrd xlrd] for XLS output & reading spreadsheets (used by survey to import data held on a spreadsheet) * [http://numpy.scipy.org numpy] required by matplotlib * [http://matplotlib.sourceforge.net/users/installing.html MatPlotLib] for charts (used in the Survey & Delphi applications & for the S3Report pivottable reports) * [http://pypi.python.org/pypi/setuptools/ setuptools] for installing tweepy ([http://peak.telecommunity.com/DevCenter/EasyInstall#downloading-and-installing-a-package more on installing python eggs]) * [http://pypi.python.org/pypi/tweepy/ tweepy] python library to interact with twitter (egg) * [http://sourceforge.net/projects/pyserial/files/ Pyserial] for SMS Features * [http://pypi.python.org/pypi/pytz/ PyTZ] for Timezone awareness * [http://pypi.python.org/pypi/pywurfl/ PyWURFL] for Browser Capabilities (egg - unused currently) * [http://pyrtf.sourceforge.net/ PyRTF] for Survey Forms as Documents. * [http://pypi.python.org/pypi/MySQL-python/ MySQLDB] for accessing MySQL databases * [http://initd.org/psycopg/ Psycopg2] for accessing PostgreSQL databases. ''' Note: Use psycopg2 instead of web2py default (pg8000) for postgres9.3 ''' On Debian-based systems, like Ubuntu: {{{ sudo su - apt-get install python-xlwt apt-get install python-xlrd apt-get install python-numpy apt-get install python-matplotlib apt-get install python-setuptools easy_install http://pypi.python.org/packages/2.7/t/tweepy/tweepy-1.9-py2.7.egg #(check if latest) apt-get install python-serial apt-get install python-tz easy_install http://pypi.python.org/packages/2.6/p/pywurfl/pywurfl-7.2.1-py2.6.egg #(unused so might not want to install) # Download and extract PyRTF from http://sourceforge.net/projects/pyrtf/files/latest/download python setup.py install apt-get install python-mysqldb apt-get install python-psycopg2 }}} == Install git == We use the [http://git-scm.com/ git] Distributed Version Control System. * Debian-based systems, like Ubuntu: {{{ sudo su - apt-get install git-core }}} * For RPM-based distributions, like Fedora or RHEL: === {{{ yum install git }}} == Next == Configure git; install Web2Py and Sahana Eden: * InstallationGuidelines/Developer/PostPython