SlideShare a Scribd company logo
Python - ArchWiki

1 of 6

https://wiki.archlinux.org/index.php/Python

Python
From ArchWiki
Python (http://www.python.org) "is a remarkably powerful dynamic
programming language that is used in a wide variety of application domains.
Python is often compared to Tcl, Perl, Ruby, Scheme or Java."

Related articles
Python Package
Guidelines
mod_python

Contents

Python VirtualEnv

1 Installation
1.1 Python 3
1.2 Python 2
2 Dealing with version problem in build scripts
3 Integrated Development Environments
3.1 Eclipse
3.2 Eric
3.3 IEP
3.4 Ninja
3.5 Spyder
4 Getting easy_install
5 Getting completion in Python shell
6 Widget bindings
7 Old versions
8 More Resources
9 For Fun

Installation
There are currently two versions of Python: Python 3 (which is the default) and the older Python 2.

Python 3
Python 3 is the latest version of the language, and is incompatible with Python 2. The language is mostly
the same, but many details, especially how built-in objects like dictionaries and strings work, have changed
considerably, and a lot of deprecated features have finally been removed. Also, the standard library has been
reorganized in a few prominent places. For an overview of the differences, visit Python2orPython3
(http://wiki.python.org/moin/Python2orPython3) and their relevant chapter (http://getpython3.com
/diveintopython3/porting-code-to-python-3-with-2to3.html) in Dive into Python 3.
To install the latest version of Python 3, install the python (https://www.archlinux.org/packages
/?name=python) package from the official repositories.
If you would like to build the latest RC/betas from source, visit Python Downloads (http://www.python.org
/download/). The Arch User Repository also contains good PKGBUILDs. If you do decide to build the RC,
note that the binary (by default) installs to /usr/local/bin/python3.x .

1/29/2014 12:40 PM
Python - ArchWiki

2 of 6

https://wiki.archlinux.org/index.php/Python

Python 2
To install the latest version of Python 2, install the python2 (https://www.archlinux.org/packages
/?name=python2) package from the official repositories.
Python 2 will happily run alongside Python 3. You need to specify python2 in order to run this version.
Any program requiring Python 2 needs to point to /usr/bin/python2 , instead of /usr/bin/python ,
which points to Python 3.
To do so, open the program or script in a text editor and change the first line.
The line will show one of the following:
#!/usr/bin/env python

or
#!/usr/bin/python

In both cases, just change python to python2 and the program will then use Python 2 instead of Python 3.
Another way to force the use of python2 without altering the scripts is to call it explicitely with python2, i.e.
python2 myScript.py

Finally, you may not be able to control the script calls, but there is a way to trick the environment. It only
works if the scripts use #!/usr/bin/env python , it won't work with #!/usr/bin/python . This trick
relies on env searching for the first corresponding entry in the PATH variable. First create a dummy folder.
$ mkdir ~/bin

Then add a symlink 'python' to python2 and the config scripts in it.
$ ln -s /usr/bin/python2 ~/bin/python
$ ln -s /usr/bin/python2-config ~/bin/python-config

Finally put the new folder at the beginning of your PATH variable.
$ export PATH=~/bin:$PATH

Note that this change is not permanent and is only active in the current terminal session. To check which
python interpreter is being used by env , use the following command:
$ which python

A similar approach in tricking the environment, which also relies on #!/usr/bin/env python to be called
by the script in question, is to use a Virtualenv. When a Virtualenv is activated, the Python executable
pointed to by $PATH will be the one the Virtualenv was installed with. Therefore, if the Virtualenv is

1/29/2014 12:40 PM
Python - ArchWiki

3 of 6

https://wiki.archlinux.org/index.php/Python

installed with Python 2, python will refer to Python 2. To start, install python2-virtualenv
(https://www.archlinux.org/packages/?name=python2-virtualenv).
# pacman -S python2-virtualenv

Then create the Virtualenv.
$ virtualenv2 venv # Creates a directory, venv/, containing the Virtualenv

Activate the Virtualenv, which will update $PATH to point at Python 2. Note that this activation is only
active for the current terminal session.
$ source venv/bin/activate

The desired script should then run using Python 2.

Dealing with version problem in build scripts
Many projects' build scripts assume python to be Python 2, and that would eventually result in an error typically complaining that print 'foo' is invalid syntax. Luckily, many of them call python in the
$PATH instead of hardcoding #!/usr/bin/python in the shebang line, and the Python scripts are all
contained within the project tree. So, instead of modifying the build scripts manually, there is an easy
workaround. Just create /usr/local/bin/python with content like this:
/usr/local/bin/python
#!/bin/bash
script=`readlink -f -- "$1"`
case "$script" in (/path/to/project1/*|/path/to/project2/*|/path/to/project3*)
exec python2 "$@"
;;
esac
script=`readlink -f -- "$2"`
case "$script" in (/path/to/project1/*|/path/to/project2/*|/path/to/project3*)
exec python2 "$@"
;;
esac
exec python3 "$@"

Where /path/to/project1/*|/path/to/project2/*|/path/to/project3* is a list of patterns separated
by | matching all project trees.
Don't forget to make it executable:
# chmod +x /usr/local/bin/python

Afterwards scripts within the specified project trees will be run with Python 2.

Integrated Development Environments

1/29/2014 12:40 PM
Python - ArchWiki

4 of 6

https://wiki.archlinux.org/index.php/Python

There are some IDEs for Python available in the official repositories.

Eclipse
Eclipse supports both Python 2.x and 3.x series by using the PyDev extension.

Eric
For the latest Python 3 compatible version, install the eric (https://www.archlinux.org/packages
/?name=eric) package.
Version 4 of Eric is Python 2 compatible and can be installed with the eric4
(https://www.archlinux.org/packages/?name=eric4) package.
These IDEs can also handle Ruby.

IEP
IEP is an interactive (e.g. MATLAB) python IDE with basic debugging capabilities and is especially suitable
for scientific computing. It is provided by the package iep (https://aur.archlinux.org/packages
/iep/).

Ninja
The Ninja IDE is provided by the package ninja-ide (https://www.archlinux.org/packages
/?name=ninja-ide).

Spyder
Spyder (previously known as Pydee) is a powerful interactive development environment for the Python
language with advanced editing, interactive testing, debugging and introspection features. It focuses on
scientific computations, providing a matlab-like environment. It can be installed with the package spyder
(https://aur.archlinux.org/packages/spyder/)

Getting easy_install
The easy_install tool is available in the package python-setuptools (https://www.archlinux.org
/packages/?name=python-setuptools).

Getting completion in Python shell
Copy this into Python's interactive shell
/usr/bin/python
import rlcompleter
import readline
readline.parse_and_bind("tab: complete")

1/29/2014 12:40 PM
Python - ArchWiki

5 of 6

https://wiki.archlinux.org/index.php/Python

Source (http://algorithmicallyrandom.blogspot.com.es/2009/09/tab-completion-in-python-shell-how-to.html)

Widget bindings
The following widget toolkit bindings are available:
TkInter — Tk bindings
http://wiki.python.org/moin/TkInter || standard module
pyQt — Qt bindings
http://www.riverbankcomputing.co.uk/software/pyqt/intro || python2-pyqt4
(https://www.archlinux.org/packages/?name=python2-pyqt4) python2-pyqt5
(https://www.archlinux.org/packages/?name=python2-pyqt5) python-pyqt4
(https://www.archlinux.org/packages/?name=python-pyqt4) python-pyqt5
(https://www.archlinux.org/packages/?name=python-pyqt5)

pySide — Qt bindings
http://www.pyside.org/ || python2-pyside (https://aur.archlinux.org/packages/python2pyside/) python-pyside (https://aur.archlinux.org/packages/python-pyside/)

pyGTK — GTK+ 2 bindings
http://www.pygtk.org/ || pygtk (https://www.archlinux.org/packages/?name=pygtk)
PyGObject — GTK+ 2/3 bindings via GObject Introspection
https://wiki.gnome.org/PyGObject/ || python2-gobject2 (https://www.archlinux.org/packages
/?name=python2-gobject2) python2-gobject (https://www.archlinux.org/packages
/?name=python2-gobject) python-gobject2 (https://www.archlinux.org/packages
/?name=python-gobject2) python-gobject (https://www.archlinux.org/packages
/?name=python-gobject)

wxPython — wxWidgets bindings
http://wxpython.org/ || wxpython (https://www.archlinux.org/packages/?name=wxpython)
To use these with Python, you may need to install the associated widget kits.

Old versions
Old versions of Python are available via the AUR and may be useful for historical curiosity, old applications
that don't run on current versions, or for testing Python programs intended to run on a distribution that
comes with an older version (eg, RHEL 5.x has Python 2.4, or Ubuntu 12.04 has Python 3.1):
python15 (https://aur.archlinux.org/packages/python15/):
python16
python24
python25
python26
python30

Python 1.5.2
(https://aur.archlinux.org/packages/python16/): Python 1.6.1
(https://aur.archlinux.org/packages/python24/): Python 2.4.6
(https://aur.archlinux.org/packages/python25/): Python 2.5.6
(https://aur.archlinux.org/packages/python26/): Python 2.6.8
(https://aur.archlinux.org/packages/python30/): Python 3.0.1

1/29/2014 12:40 PM
Python - ArchWiki

6 of 6

https://wiki.archlinux.org/index.php/Python

python31 (https://aur.archlinux.org/packages/python31/):

Python 3.1.5
python32 (https://aur.archlinux.org/packages/python32/): Python 3.2.3
As of November 2012, Python upstream only supports Python 2.6, 2.7, 3.1, 3.2, and 3.3 for security fixes.
Using older versions for Internet-facing applications or untrusted code may be dangerous and is not
recommended.
Extra modules/libraries for old versions of Python may be found on the AUR by searching for
python(version without decimal), eg searching for "python26" for 2.6 modules.

More Resources
Learning Python (http://shop.oreilly.com/product/9780596158071.do) is one of the most
comprehensive, up to date, and well-written books on Python available today.
Dive Into Python (http://www.diveintopython.net/) is an excellent (free) resource, but perhaps for
more advanced readers and has been updated for Python 3 (http://diveintopython3.ep.io/).
A Byte of Python (http://www.swaroopch.com/notes/Python) is a book suitable for users new to
Python (and scripting in general).
Learn Python The Hard Way (http://learnpythonthehardway.org) the best intro to programming.
facts.learnpython.org (http://facts.learnpython.org) nice site to learn python.
Crash into Python (http://stephensugden.com/crash_into_python/) Also known as Python for
Programmers with 3 Hours, this guide gives experienced developers from other languages a crash
course on Python.
Beginning Game Development with Python and Pygame: From Novice to Professional
(http://www.apress.com/book/view/9781590598726) for games

For Fun
Try the following snippets from Python's interactive shell:
>>> import this

>>> from __future__ import braces

>>> import antigravity

Retrieved from "https://wiki.archlinux.org/index.php?title=Python&oldid=294398"
Category: Programming language
This page was last modified on 25 January 2014, at 21:30.
Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.

1/29/2014 12:40 PM

More Related Content

What's hot (20)

PPT
101 2.3 manage shared libraries
Acácio Oliveira
 
PPTX
Python at Facebook
Angelo Failla
 
PDF
Puppet Systems Infrastructure Construction Kit
Alessandro Franceschi
 
PPTX
How to deliver a Python project
mattjdavidson
 
PPTX
The TCP/IP Stack in the Linux Kernel
Divye Kapoor
 
PDF
Reversing the dropbox client on windows
extremecoders
 
PDF
Fighting API Compatibility On Fluentd Using "Black Magic"
SATOSHI TAGOMORI
 
PPT
Linux and Localization Tutorial Paras pradhan Senior Linux ...
webhostingguy
 
PPT
101 3.2 process text streams using filters
Acácio Oliveira
 
PPT
101 3.2 process text streams using filters
Acácio Oliveira
 
PDF
Buildroot easy embedded system
Nirma University
 
DOC
Assignment unix & shell programming
Mohit Aggarwal
 
PDF
Ry pyconjp2015 karaoke
Renyuan Lyu
 
PPT
3.2 process text streams using filters
Acácio Oliveira
 
PDF
LuaJIT
François Perrad
 
PDF
Integrating libSyntax into the compiler pipeline
Yusuke Kita
 
PDF
Golang execution modes
Ting-Li Chou
 
ODP
Vim and Python
majmcdonald
 
PDF
Basic shell commands by Jeremy Sanders
Devanand Gehlot
 
101 2.3 manage shared libraries
Acácio Oliveira
 
Python at Facebook
Angelo Failla
 
Puppet Systems Infrastructure Construction Kit
Alessandro Franceschi
 
How to deliver a Python project
mattjdavidson
 
The TCP/IP Stack in the Linux Kernel
Divye Kapoor
 
Reversing the dropbox client on windows
extremecoders
 
Fighting API Compatibility On Fluentd Using "Black Magic"
SATOSHI TAGOMORI
 
Linux and Localization Tutorial Paras pradhan Senior Linux ...
webhostingguy
 
101 3.2 process text streams using filters
Acácio Oliveira
 
101 3.2 process text streams using filters
Acácio Oliveira
 
Buildroot easy embedded system
Nirma University
 
Assignment unix & shell programming
Mohit Aggarwal
 
Ry pyconjp2015 karaoke
Renyuan Lyu
 
3.2 process text streams using filters
Acácio Oliveira
 
Integrating libSyntax into the compiler pipeline
Yusuke Kita
 
Golang execution modes
Ting-Li Chou
 
Vim and Python
majmcdonald
 
Basic shell commands by Jeremy Sanders
Devanand Gehlot
 

Similar to Python arch wiki (20)

PDF
Python tutorial
Vijay Chaitanya
 
PDF
Pyhton-1a-Basics.pdf
Mattupallipardhu
 
PDF
Open erp on ubuntu
Iker Coranti
 
PDF
Package Management via Spack on SJTU π Supercomputer
Jianwen Wei
 
PDF
Tools That Help You Write Better Code - 2025 Princeton Software Engineering S...
Henry Schreiner
 
PDF
Rustifying a Python package in 2025 with pyo3 and maturin
ArthurAndres2
 
PPTX
Python Programming-Lesson 1- Installation and Environmental Set-up.pptx
BautistaAljhonG
 
PPTX
First python project
Neetu Jain
 
ODP
5 minute intro to virtualenv
amenasse
 
PDF
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017
Codemotion
 
PDF
Python Basics for Operators Troubleshooting OpenStack
James Dennis
 
PDF
Tools to help you write better code - Princeton Wintersession
Henry Schreiner
 
PDF
Conda: A Cross-Platform Package Manager for Any Binary Distribution (SciPy 2014)
Aaron Meurer
 
PDF
Jenkins and Docker for native Linux packages
Daniel Paulus
 
PDF
Build and deploy scientific Python Applications
Ramakrishna Reddy
 
PDF
Python_Session
siva ram
 
PDF
Pythonfinalppt 170822121204
wichakansroisuwan
 
PDF
Python final ppt
Ripal Ranpara
 
PDF
Devoxx 2014 [incomplete] summary
Artem Oboturov
 
PDF
sphinx demo
ak013
 
Python tutorial
Vijay Chaitanya
 
Pyhton-1a-Basics.pdf
Mattupallipardhu
 
Open erp on ubuntu
Iker Coranti
 
Package Management via Spack on SJTU π Supercomputer
Jianwen Wei
 
Tools That Help You Write Better Code - 2025 Princeton Software Engineering S...
Henry Schreiner
 
Rustifying a Python package in 2025 with pyo3 and maturin
ArthurAndres2
 
Python Programming-Lesson 1- Installation and Environmental Set-up.pptx
BautistaAljhonG
 
First python project
Neetu Jain
 
5 minute intro to virtualenv
amenasse
 
Christian Strappazzon - Presentazione Python Milano - Codemotion Milano 2017
Codemotion
 
Python Basics for Operators Troubleshooting OpenStack
James Dennis
 
Tools to help you write better code - Princeton Wintersession
Henry Schreiner
 
Conda: A Cross-Platform Package Manager for Any Binary Distribution (SciPy 2014)
Aaron Meurer
 
Jenkins and Docker for native Linux packages
Daniel Paulus
 
Build and deploy scientific Python Applications
Ramakrishna Reddy
 
Python_Session
siva ram
 
Pythonfinalppt 170822121204
wichakansroisuwan
 
Python final ppt
Ripal Ranpara
 
Devoxx 2014 [incomplete] summary
Artem Oboturov
 
sphinx demo
ak013
 
Ad

More from fikrul islamy (20)

DOCX
Akar persamaan2 metnum
fikrul islamy
 
PPT
sedimen transport
fikrul islamy
 
PPT
Marine mammals
fikrul islamy
 
PDF
Convert an auto cad file to a shapefile and georeferencing
fikrul islamy
 
DOC
Kemas & eclogite #GEOLOGI
fikrul islamy
 
PDF
PERMODELAN TSUNAMI UNTUK PENENTUAN ZONA MITIGASI DAN ANALISIS DAMPAK TERHADAP...
fikrul islamy
 
PDF
Prospectus FPIK Brawijaya university (concept 2012)
fikrul islamy
 
PDF
Lirik & chord lagu mix 1
fikrul islamy
 
PDF
Lirik & chord lagu mix 3
fikrul islamy
 
DOCX
Koreksi geometrik peta (arc gis) registrasi
fikrul islamy
 
DOC
Teknologi gis dan analisis spasial di zona pesisir manajemen
fikrul islamy
 
PPT
Secrets of supercomputing
fikrul islamy
 
PDF
Quali tas movie
fikrul islamy
 
PDF
Pendekatan unt-membangun-sistem
fikrul islamy
 
DOCX
Koreksi geometrik peta (arc gis) registrasi
fikrul islamy
 
PDF
Bangun datar dan bangun datar
fikrul islamy
 
DOC
Pengolahan sst satelit modis
fikrul islamy
 
DOC
Coastal zone management ruang pesisir
fikrul islamy
 
PDF
Peta dan-penggunaanya
fikrul islamy
 
Akar persamaan2 metnum
fikrul islamy
 
sedimen transport
fikrul islamy
 
Marine mammals
fikrul islamy
 
Convert an auto cad file to a shapefile and georeferencing
fikrul islamy
 
Kemas & eclogite #GEOLOGI
fikrul islamy
 
PERMODELAN TSUNAMI UNTUK PENENTUAN ZONA MITIGASI DAN ANALISIS DAMPAK TERHADAP...
fikrul islamy
 
Prospectus FPIK Brawijaya university (concept 2012)
fikrul islamy
 
Lirik & chord lagu mix 1
fikrul islamy
 
Lirik & chord lagu mix 3
fikrul islamy
 
Koreksi geometrik peta (arc gis) registrasi
fikrul islamy
 
Teknologi gis dan analisis spasial di zona pesisir manajemen
fikrul islamy
 
Secrets of supercomputing
fikrul islamy
 
Quali tas movie
fikrul islamy
 
Pendekatan unt-membangun-sistem
fikrul islamy
 
Koreksi geometrik peta (arc gis) registrasi
fikrul islamy
 
Bangun datar dan bangun datar
fikrul islamy
 
Pengolahan sst satelit modis
fikrul islamy
 
Coastal zone management ruang pesisir
fikrul islamy
 
Peta dan-penggunaanya
fikrul islamy
 
Ad

Recently uploaded (20)

PPTX
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
PDF
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
PDF
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
PPTX
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
PPTX
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
PPTX
THE TAME BIRD AND THE FREE BIRD.pptxxxxx
MarcChristianNicolas
 
PPTX
How to Set Maximum Difference Odoo 18 POS
Celine George
 
PDF
SSHS-2025-PKLP_Quarter-1-Dr.-Kerby-Alvarez.pdf
AishahSangcopan1
 
PPTX
SPINA BIFIDA: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
PPTX
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
PPSX
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
PPTX
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
PDF
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
PPTX
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
PDF
Isharyanti-2025-Cross Language Communication in Indonesian Language
Neny Isharyanti
 
PPTX
Soil and agriculture microbiology .pptx
Keerthana Ramesh
 
PDF
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
PPT
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
PDF
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
PDF
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
0725.WHITEPAPER-UNIQUEWAYSOFPROTOTYPINGANDUXNOW.pdf
Thomas GIRARD, MA, CDP
 
ARAL_Orientation_Day-2-Sessions_ARAL-Readung ARAL-Mathematics ARAL-Sciencev2.pdf
JoelVilloso1
 
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
How to Create a PDF Report in Odoo 18 - Odoo Slides
Celine George
 
THE TAME BIRD AND THE FREE BIRD.pptxxxxx
MarcChristianNicolas
 
How to Set Maximum Difference Odoo 18 POS
Celine George
 
SSHS-2025-PKLP_Quarter-1-Dr.-Kerby-Alvarez.pdf
AishahSangcopan1
 
SPINA BIFIDA: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
STAFF DEVELOPMENT AND WELFARE: MANAGEMENT
PRADEEP ABOTHU
 
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
grade 5 lesson matatag ENGLISH 5_Q1_PPT_WEEK4.pptx
SireQuinn
 
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
Cultivation practice of Litchi in Nepal.pptx
UmeshTimilsina1
 
Isharyanti-2025-Cross Language Communication in Indonesian Language
Neny Isharyanti
 
Soil and agriculture microbiology .pptx
Keerthana Ramesh
 
The dynastic history of the Chahmana.pdf
PrachiSontakke5
 
Talk on Critical Theory, Part II, Philosophy of Social Sciences
Soraj Hongladarom
 
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
The Constitution Review Committee (CRC) has released an updated schedule for ...
nservice241
 

Python arch wiki

  • 1. Python - ArchWiki 1 of 6 https://wiki.archlinux.org/index.php/Python Python From ArchWiki Python (http://www.python.org) "is a remarkably powerful dynamic programming language that is used in a wide variety of application domains. Python is often compared to Tcl, Perl, Ruby, Scheme or Java." Related articles Python Package Guidelines mod_python Contents Python VirtualEnv 1 Installation 1.1 Python 3 1.2 Python 2 2 Dealing with version problem in build scripts 3 Integrated Development Environments 3.1 Eclipse 3.2 Eric 3.3 IEP 3.4 Ninja 3.5 Spyder 4 Getting easy_install 5 Getting completion in Python shell 6 Widget bindings 7 Old versions 8 More Resources 9 For Fun Installation There are currently two versions of Python: Python 3 (which is the default) and the older Python 2. Python 3 Python 3 is the latest version of the language, and is incompatible with Python 2. The language is mostly the same, but many details, especially how built-in objects like dictionaries and strings work, have changed considerably, and a lot of deprecated features have finally been removed. Also, the standard library has been reorganized in a few prominent places. For an overview of the differences, visit Python2orPython3 (http://wiki.python.org/moin/Python2orPython3) and their relevant chapter (http://getpython3.com /diveintopython3/porting-code-to-python-3-with-2to3.html) in Dive into Python 3. To install the latest version of Python 3, install the python (https://www.archlinux.org/packages /?name=python) package from the official repositories. If you would like to build the latest RC/betas from source, visit Python Downloads (http://www.python.org /download/). The Arch User Repository also contains good PKGBUILDs. If you do decide to build the RC, note that the binary (by default) installs to /usr/local/bin/python3.x . 1/29/2014 12:40 PM
  • 2. Python - ArchWiki 2 of 6 https://wiki.archlinux.org/index.php/Python Python 2 To install the latest version of Python 2, install the python2 (https://www.archlinux.org/packages /?name=python2) package from the official repositories. Python 2 will happily run alongside Python 3. You need to specify python2 in order to run this version. Any program requiring Python 2 needs to point to /usr/bin/python2 , instead of /usr/bin/python , which points to Python 3. To do so, open the program or script in a text editor and change the first line. The line will show one of the following: #!/usr/bin/env python or #!/usr/bin/python In both cases, just change python to python2 and the program will then use Python 2 instead of Python 3. Another way to force the use of python2 without altering the scripts is to call it explicitely with python2, i.e. python2 myScript.py Finally, you may not be able to control the script calls, but there is a way to trick the environment. It only works if the scripts use #!/usr/bin/env python , it won't work with #!/usr/bin/python . This trick relies on env searching for the first corresponding entry in the PATH variable. First create a dummy folder. $ mkdir ~/bin Then add a symlink 'python' to python2 and the config scripts in it. $ ln -s /usr/bin/python2 ~/bin/python $ ln -s /usr/bin/python2-config ~/bin/python-config Finally put the new folder at the beginning of your PATH variable. $ export PATH=~/bin:$PATH Note that this change is not permanent and is only active in the current terminal session. To check which python interpreter is being used by env , use the following command: $ which python A similar approach in tricking the environment, which also relies on #!/usr/bin/env python to be called by the script in question, is to use a Virtualenv. When a Virtualenv is activated, the Python executable pointed to by $PATH will be the one the Virtualenv was installed with. Therefore, if the Virtualenv is 1/29/2014 12:40 PM
  • 3. Python - ArchWiki 3 of 6 https://wiki.archlinux.org/index.php/Python installed with Python 2, python will refer to Python 2. To start, install python2-virtualenv (https://www.archlinux.org/packages/?name=python2-virtualenv). # pacman -S python2-virtualenv Then create the Virtualenv. $ virtualenv2 venv # Creates a directory, venv/, containing the Virtualenv Activate the Virtualenv, which will update $PATH to point at Python 2. Note that this activation is only active for the current terminal session. $ source venv/bin/activate The desired script should then run using Python 2. Dealing with version problem in build scripts Many projects' build scripts assume python to be Python 2, and that would eventually result in an error typically complaining that print 'foo' is invalid syntax. Luckily, many of them call python in the $PATH instead of hardcoding #!/usr/bin/python in the shebang line, and the Python scripts are all contained within the project tree. So, instead of modifying the build scripts manually, there is an easy workaround. Just create /usr/local/bin/python with content like this: /usr/local/bin/python #!/bin/bash script=`readlink -f -- "$1"` case "$script" in (/path/to/project1/*|/path/to/project2/*|/path/to/project3*) exec python2 "$@" ;; esac script=`readlink -f -- "$2"` case "$script" in (/path/to/project1/*|/path/to/project2/*|/path/to/project3*) exec python2 "$@" ;; esac exec python3 "$@" Where /path/to/project1/*|/path/to/project2/*|/path/to/project3* is a list of patterns separated by | matching all project trees. Don't forget to make it executable: # chmod +x /usr/local/bin/python Afterwards scripts within the specified project trees will be run with Python 2. Integrated Development Environments 1/29/2014 12:40 PM
  • 4. Python - ArchWiki 4 of 6 https://wiki.archlinux.org/index.php/Python There are some IDEs for Python available in the official repositories. Eclipse Eclipse supports both Python 2.x and 3.x series by using the PyDev extension. Eric For the latest Python 3 compatible version, install the eric (https://www.archlinux.org/packages /?name=eric) package. Version 4 of Eric is Python 2 compatible and can be installed with the eric4 (https://www.archlinux.org/packages/?name=eric4) package. These IDEs can also handle Ruby. IEP IEP is an interactive (e.g. MATLAB) python IDE with basic debugging capabilities and is especially suitable for scientific computing. It is provided by the package iep (https://aur.archlinux.org/packages /iep/). Ninja The Ninja IDE is provided by the package ninja-ide (https://www.archlinux.org/packages /?name=ninja-ide). Spyder Spyder (previously known as Pydee) is a powerful interactive development environment for the Python language with advanced editing, interactive testing, debugging and introspection features. It focuses on scientific computations, providing a matlab-like environment. It can be installed with the package spyder (https://aur.archlinux.org/packages/spyder/) Getting easy_install The easy_install tool is available in the package python-setuptools (https://www.archlinux.org /packages/?name=python-setuptools). Getting completion in Python shell Copy this into Python's interactive shell /usr/bin/python import rlcompleter import readline readline.parse_and_bind("tab: complete") 1/29/2014 12:40 PM
  • 5. Python - ArchWiki 5 of 6 https://wiki.archlinux.org/index.php/Python Source (http://algorithmicallyrandom.blogspot.com.es/2009/09/tab-completion-in-python-shell-how-to.html) Widget bindings The following widget toolkit bindings are available: TkInter — Tk bindings http://wiki.python.org/moin/TkInter || standard module pyQt — Qt bindings http://www.riverbankcomputing.co.uk/software/pyqt/intro || python2-pyqt4 (https://www.archlinux.org/packages/?name=python2-pyqt4) python2-pyqt5 (https://www.archlinux.org/packages/?name=python2-pyqt5) python-pyqt4 (https://www.archlinux.org/packages/?name=python-pyqt4) python-pyqt5 (https://www.archlinux.org/packages/?name=python-pyqt5) pySide — Qt bindings http://www.pyside.org/ || python2-pyside (https://aur.archlinux.org/packages/python2pyside/) python-pyside (https://aur.archlinux.org/packages/python-pyside/) pyGTK — GTK+ 2 bindings http://www.pygtk.org/ || pygtk (https://www.archlinux.org/packages/?name=pygtk) PyGObject — GTK+ 2/3 bindings via GObject Introspection https://wiki.gnome.org/PyGObject/ || python2-gobject2 (https://www.archlinux.org/packages /?name=python2-gobject2) python2-gobject (https://www.archlinux.org/packages /?name=python2-gobject) python-gobject2 (https://www.archlinux.org/packages /?name=python-gobject2) python-gobject (https://www.archlinux.org/packages /?name=python-gobject) wxPython — wxWidgets bindings http://wxpython.org/ || wxpython (https://www.archlinux.org/packages/?name=wxpython) To use these with Python, you may need to install the associated widget kits. Old versions Old versions of Python are available via the AUR and may be useful for historical curiosity, old applications that don't run on current versions, or for testing Python programs intended to run on a distribution that comes with an older version (eg, RHEL 5.x has Python 2.4, or Ubuntu 12.04 has Python 3.1): python15 (https://aur.archlinux.org/packages/python15/): python16 python24 python25 python26 python30 Python 1.5.2 (https://aur.archlinux.org/packages/python16/): Python 1.6.1 (https://aur.archlinux.org/packages/python24/): Python 2.4.6 (https://aur.archlinux.org/packages/python25/): Python 2.5.6 (https://aur.archlinux.org/packages/python26/): Python 2.6.8 (https://aur.archlinux.org/packages/python30/): Python 3.0.1 1/29/2014 12:40 PM
  • 6. Python - ArchWiki 6 of 6 https://wiki.archlinux.org/index.php/Python python31 (https://aur.archlinux.org/packages/python31/): Python 3.1.5 python32 (https://aur.archlinux.org/packages/python32/): Python 3.2.3 As of November 2012, Python upstream only supports Python 2.6, 2.7, 3.1, 3.2, and 3.3 for security fixes. Using older versions for Internet-facing applications or untrusted code may be dangerous and is not recommended. Extra modules/libraries for old versions of Python may be found on the AUR by searching for python(version without decimal), eg searching for "python26" for 2.6 modules. More Resources Learning Python (http://shop.oreilly.com/product/9780596158071.do) is one of the most comprehensive, up to date, and well-written books on Python available today. Dive Into Python (http://www.diveintopython.net/) is an excellent (free) resource, but perhaps for more advanced readers and has been updated for Python 3 (http://diveintopython3.ep.io/). A Byte of Python (http://www.swaroopch.com/notes/Python) is a book suitable for users new to Python (and scripting in general). Learn Python The Hard Way (http://learnpythonthehardway.org) the best intro to programming. facts.learnpython.org (http://facts.learnpython.org) nice site to learn python. Crash into Python (http://stephensugden.com/crash_into_python/) Also known as Python for Programmers with 3 Hours, this guide gives experienced developers from other languages a crash course on Python. Beginning Game Development with Python and Pygame: From Novice to Professional (http://www.apress.com/book/view/9781590598726) for games For Fun Try the following snippets from Python's interactive shell: >>> import this >>> from __future__ import braces >>> import antigravity Retrieved from "https://wiki.archlinux.org/index.php?title=Python&oldid=294398" Category: Programming language This page was last modified on 25 January 2014, at 21:30. Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted. 1/29/2014 12:40 PM