Difference between revisions of "Python"
(→Spyder: spyder isn't in the repos anymore, so changed to AUR) |
m (→Widget bindings: Added links for PySide) |
||
Line 90: | Line 90: | ||
*{{App|[[TkInter]]|[[Tk]] bindings|http://wiki.python.org/moin/TkInter|standard module}} | *{{App|[[TkInter]]|[[Tk]] bindings|http://wiki.python.org/moin/TkInter|standard module}} | ||
*{{App|[[pyQt]]|[[Qt]] bindings|http://www.riverbankcomputing.co.uk/software/pyqt/intro|{{Pkg|pyqt}}}} | *{{App|[[pyQt]]|[[Qt]] bindings|http://www.riverbankcomputing.co.uk/software/pyqt/intro|{{Pkg|pyqt}}}} | ||
+ | *{{App|[[pySide]]|[[Qt]] bindings|http://www.pyside.org/|{{Pkg|python2-pyside}}}} | ||
*{{App|[[pyGTK]]|[[GTK+]] bindings|http://www.pygtk.org/|{{Pkg|pygtk}}}} | *{{App|[[pyGTK]]|[[GTK+]] bindings|http://www.pygtk.org/|{{Pkg|pygtk}}}} | ||
*{{App|[[wxPython]]|[[wxWidgets]] bindings|http://wxpython.org/|{{Pkg|wxpython}}}} | *{{App|[[wxPython]]|[[wxWidgets]] bindings|http://wxpython.org/|{{Pkg|wxpython}}}} |
Revision as of 14:28, 24 June 2012
zh-CN:Python Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary end
Python "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."
Contents
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 and their relevant chapter in Dive into Python 3.
To install the latest version of Python 3, install the python package from the official repositories.
If you would like to build the latest RC/betas from source, visit Python Downloads. 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
.
Python 2
To install the latest version of Python 2, install the 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
.
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 in it.
$ ln -s /usr/bin/python2 ~/bin/python
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
Integrated Development Environments
There are some IDEs for Python available in the official repositories.
Eric
For the latest Python 3 compatible version, install the eric package.
Version 4 of Eric is Python 2 compatible and can be installed with the eric4 package.
These IDEs can also handle Ruby.
Ninja
The Ninja IDE is provided by the package 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 spyderAUR
Getting easy_install
The easy_install tool is available in the package python-distribute or python2-distribute.
Misc. Uses
Python is excellent for emergency situations, or when you simply need to work with files without writing any Perl, Bash, or C. Here are some functions that I have found to be helpful (although this is by no means a comprehensive list);
- open
- open a file
- urllib.urlopen
- open a web page,
import urllib
first - urllib.urlretrieve
- download a file (by default, to
/tmp
, but a directory can be specified),import urllib
first - os.listdir
- list all files in a given directory,
import os
first
You will find that Python is used frequently, in applications ranging from the GIMP, to Sage. Python's scalability, popularity, and ease of coding make it an important addition to all desktops.
Widget bindings
The following widget toolkit bindings are available:
- http://wiki.python.org/moin/TkInter || standard module
To use these with Python, you may need to install the associated widget kits.
More Resources
- Learning Python is one of the most comprehensive, up to date, and well-written books on Python available today.
- Dive Into Python is an excellent (free) resource, but perhaps for more advanced readers and has been updated for Python 3.
- A Byte of Python is a book suitable for users new to Python (and scripting in general).
- Learn Python The Hard Way the best intro to programming.
- facts.learnpython.org nice site to learn python.
- 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 for games
For Fun
Try the following snippets from Python's interactive shell:
>>> import this
>>> from __future__ import braces
>>> import antigravity