Python is good for developers.
No matter what operating system you or your customers are running, it will work. Unless you are coding platform-specific things, or using a platform-specific library, you can work on Linux and deploy on other systems, for example. However, thats not uncommon anymore. (Ruby, Java, and many other languages work in the same way.) Combined with the other qualities that we will discover throughout this book, Python becomes a smart choice for a company's primary development language.
This chapter gathers everything required to get started with Python, no matter what your environment is. It presents:
• How to install Python
• How to use and enhance the prompt
• How to be ready to extend Python, by installing setuptools
• How to set up a development environment, using the old school or the new school ways
A book always starts with some appetizers. So if you are already familiar with Python, and have it installed and reachable from your favorite code editor, you can skip the first section of this chapter, and just read other sections quickly. You might find in them interesting points to enhance your environment. Be sure to read the section on setuptools though, as its installation is mandatory for the rest of the book.
If you are using Windows, make sure you have installed the software described in this chapter, as it will be required to run all the examples this book provides.
IronPython brings Python into .NET. The project is supported by Microsoft, where IronPython's lead developers work. The latest stable version is 1.1 (released in April 2007) and implements Python 2.4.3. It is available in ASP.NET, and lets people use the Python code in their .NET application in the same way as Jython does in Java. It is quite an important implementation for the promotion of a language. Besides Java, the .NET community is one of the biggest developer communities out there. The TIOBE community index also shows that .NET languages are among the rising stars. (For more information, visit http://www.tiobe.com/tpci.htm.)
PyPy is probably the most exciting implementation, as its goal is to rewrite Python into Python. In PyPy, the Python interpreter is itself written in Python. We have a C code layer carrying out the nuts-and-bolts work for the CPython implementation of Python. But in the PyPy implementation, this C code layer is rewritten in pure Python. This means that you can change the interpreter's behavior during execution time, and implement code patterns that couldn't be easily done in CPython. (See http://codespeak.net/pypy/dist/pypy/doc/objspace-proxies.html.) PyPy used to be 2000 times slower than CPython, but this has improved a lot in the past years. The introduction of techniques such as the JIT (Just-In-Time) compiler is promising. The current speed factor is between 1.7 and 4, and the current implementation target is Python 2.4. PyPy can be seen as the head of R&D in the compilation matters, and the starting point of many innovations that the mainstream implementation can benefit from later. On the whole though, PyPy is interesting for theoretical reasons, and interests those who enjoy going deep into the internals of the language. It is not generally used in production.
There are other implementations and ports of Python. For example, Nokia has made Python 2.2.2 available in the S60 phone series ( http://opensource.nokia.com/ projects/pythonfors6 0/), and Michael Lauer maintains a port on ARM Linux that makes it available in devices such as Sharp Zaurus (http://www.vanille-media. de/site/index.php/projects/python-for-arm-linux).
There are many other examples, but this book will focus installing the CPython implementation on Linux, Windows, and Mac OS X.
Was this article helpful?