============================= Basic installation of IPython ============================= Installation ============ Instant instructions -------------------- If you are of the impatient kind, under Linux/Unix simply untar/unzip the download, then install with 'python setup.py install'. Under Windows, double-click on the provided .exe binary installer. Then, take a look at Customization_ section for configuring things optimally and `Quick tips`_ for quick tips on efficient use of IPython. You can later refer to the rest of the manual for all the gory details. See the notes in upgrading_ section for upgrading IPython versions. Detailed Unix instructions (Linux, Mac OS X, etc.) For RPM based systems, simply install the supplied package in the usual manner. If you download the tar archive, the process is: 1. Unzip/untar the ipython-XXX.tar.gz file wherever you want (XXX is the version number). It will make a directory called ipython-XXX. Change into that directory where you will find the files README and setup.py. Once you've completed the installation, you can safely remove this directory. 2. If you are installing over a previous installation of version 0.2.0 or earlier, first remove your $HOME/.ipython directory, since the configuration file format has changed somewhat (the '=' were removed from all option specifications). Or you can call ipython with the -upgrade option and it will do this automatically for you. 3. IPython uses distutils, so you can install it by simply typing at the system prompt (don't type the $):: $ python setup.py install Note that this assumes you have root access to your machine. If you don't have root access or don't want IPython to go in the default python directories, you'll need to use the ``--home`` option (or ``--prefix``). For example:: $ python setup.py install --home $HOME/local will install IPython into $HOME/local and its subdirectories (creating them if necessary). You can type:: $ python setup.py --help for more details. Note that if you change the default location for ``--home`` at installation, IPython may end up installed at a location which is not part of your $PYTHONPATH environment variable. In this case, you'll need to configure this variable to include the actual directory where the IPython/ directory ended (typically the value you give to ``--home`` plus /lib/python). Mac OSX information ------------------- Under OSX, there is a choice you need to make. Apple ships its own build of Python, which lives in the core OSX filesystem hierarchy. You can also manually install a separate Python, either purely by hand (typically in /usr/local) or by using Fink, which puts everything under /sw. Which route to follow is a matter of personal preference, as I've seen users who favor each of the approaches. Here I will simply list the known installation issues under OSX, along with their solutions. This page: http://geosci.uchicago.edu/~tobis/pylab.html contains information on this topic, with additional details on how to make IPython and matplotlib play nicely under OSX. To run IPython and readline on OSX "Leopard" system python, see the wiki page at http://ipython.scipy.org/moin/InstallationOSXLeopard GUI problems ------------ The following instructions apply to an install of IPython under OSX from unpacking the .tar.gz distribution and installing it for the default Python interpreter shipped by Apple. If you are using a fink install, fink will take care of these details for you, by installing IPython against fink's Python. IPython offers various forms of support for interacting with graphical applications from the command line, from simple Tk apps (which are in principle always supported by Python) to interactive control of WX, Qt and GTK apps. Under OSX, however, this requires that ipython is installed by calling the special pythonw script at installation time, which takes care of coordinating things with Apple's graphical environment. So when installing under OSX, it is best to use the following command:: $ sudo pythonw setup.py install --install-scripts=/usr/local/bin or $ sudo pythonw setup.py install --install-scripts=/usr/bin depending on where you like to keep hand-installed executables. The resulting script will have an appropriate shebang line (the first line in the script whic begins with #!...) such that the ipython interpreter can interact with the OS X GUI. If the installed version does not work and has a shebang line that points to, for example, just /usr/bin/python, then you might have a stale, cached version in your build/scripts- directory. Delete that directory and rerun the setup.py. It is also a good idea to use the special flag ``--install-scripts`` as indicated above, to ensure that the ipython scripts end up in a location which is part of your $PATH. Otherwise Apple's Python will put the scripts in an internal directory not available by default at the command line (if you use /usr/local/bin, you need to make sure this is in your $PATH, which may not be true by default). Readline problems ----------------- By default, the Python version shipped by Apple does not include the readline library, so central to IPython's behavior. If you install IPython against Apple's Python, you will not have arrow keys, tab completion, etc. For Mac OSX 10.3 (Panther), you can find a prebuilt readline library here: http://pythonmac.org/packages/readline-5.0-py2.3-macosx10.3.zip If you are using OSX 10.4 (Tiger), after installing this package you need to either: 1. move readline.so from /Library/Python/2.3 to /Library/Python/2.3/site-packages, or 2. install http://pythonmac.org/packages/TigerPython23Compat.pkg.zip Users installing against Fink's Python or a properly hand-built one should not have this problem. DarwinPorts ----------- I report here a message from an OSX user, who suggests an alternative means of using IPython under this operating system with good results. Please let me know of any updates that may be useful for this section. His message is reproduced verbatim below: From: Markus Banfi As a MacOS X (10.4.2) user I prefer to install software using DawinPorts instead of Fink. I had no problems installing ipython with DarwinPorts. It's just: sudo port install py-ipython It automatically resolved all dependencies (python24, readline, py-readline). So far I did not encounter any problems with the DarwinPorts port of ipython. Windows instructions -------------------- Some of IPython's very useful features are: * Integrated readline support (Tab-based file, object and attribute completion, input history across sessions, editable command line, etc.) * Coloring of prompts, code and tracebacks. .. _pyreadline: These, by default, are only available under Unix-like operating systems. However, thanks to Gary Bishop's work, Windows XP/2k users can also benefit from them. His readline library originally implemented both GNU readline functionality and color support, so that IPython under Windows XP/2k can be as friendly and powerful as under Unix-like environments. This library, now named PyReadline, has been absorbed by the IPython team (Jörgen Stenarson, in particular), and it continues to be developed with new features, as well as being distributed directly from the IPython site. The PyReadline extension requires CTypes and the windows IPython installer needs PyWin32, so in all you need: 1. PyWin32 from http://sourceforge.net/projects/pywin32. 2. PyReadline for Windows from http://ipython.scipy.org/moin/PyReadline/Intro. That page contains further details on using and configuring the system to your liking. 3. Finally, only if you are using Python 2.3 or 2.4, you need CTypes from http://starship.python.net/crew/theller/ctypes(you must use version 0.9.1 or newer). This package is included in Python 2.5, so you don't need to manually get it if your Python version is 2.5 or newer. Warning about a broken readline-like library: several users have reported problems stemming from using the pseudo-readline library at http://newcenturycomputers.net/projects/readline.html. This is a broken library which, while called readline, only implements an incomplete subset of the readline API. Since it is still called readline, it fools IPython's detection mechanisms and causes unpredictable crashes later. If you wish to use IPython under Windows, you must NOT use this library, which for all purposes is (at least as of version 1.6) terminally broken. Installation procedure ---------------------- Once you have the above installed, from the IPython download directory grab the ipython-XXX.win32.exe file, where XXX represents the version number. This is a regular windows executable installer, which you can simply double-click to install. It will add an entry for IPython to your Start Menu, as well as registering IPython in the Windows list of applications, so you can later uninstall it from the Control Panel. IPython tries to install the configuration information in a directory named .ipython (_ipython under Windows) located in your 'home' directory. IPython sets this directory by looking for a HOME environment variable; if such a variable does not exist, it uses HOMEDRIVE\HOMEPATH (these are always defined by Windows). This typically gives something like C:\Documents and Settings\YourUserName, but your local details may vary. In this directory you will find all the files that configure IPython's defaults, and you can put there your profiles and extensions. This directory is automatically added by IPython to sys.path, so anything you place there can be found by import statements. Upgrading --------- For an IPython upgrade, you should first uninstall the previous version. This will ensure that all files and directories (such as the documentation) which carry embedded version strings in their names are properly removed. Manual installation under Win32 ------------------------------- In case the automatic installer does not work for some reason, you can download the ipython-XXX.tar.gz file, which contains the full IPython source distribution (the popular WinZip can read .tar.gz files). After uncompressing the archive, you can install it at a command terminal just like any other Python module, by using 'python setup.py install'. After the installation, run the supplied win32_manual_post_install.py script, which creates the necessary Start Menu shortcuts for you. .. upgrading: Upgrading from a previous version --------------------------------- If you are upgrading from a previous version of IPython, you may want to upgrade the contents of your ~/.ipython directory. Just run %upgrade, look at the diffs and delete the suggested files manually, if you think you can lose the old versions. %upgrade will never overwrite or delete anything.