================================ Downloading and installing Kwant ================================ The quickest and easiest way to install Kwant is using the prepared packages that are available for GNU/Linux (`Debian <#debian-and-derivatives>`_, `Ubuntu <#ubuntu-and-derivatives>`_, and their variants, `Arch Linux`_), `Mac OS X`_, and `Microsoft Windows`_. It is possible to be notified about new releases of Kwant through an `announcement mailing list <community.html#announcements-of-new-releases>`_. If no packages are available for the system you use, or if you would like to build Kwant from source for another reason (expert users may want to customize Kwant to use certain optimized versions of libraries), please consult the `full installation instructions <doc/1.0/pre/install.html#building-and-installing-from-source>`_ in the documentation. The source code of released versions of Kwant is available for `download <http://downloads.kwant-project.org/kwant/>`_. You can follow the development by cloning the `Git repository of Kwant <http://git.kwant-project.org/kwant>`_ (browsable online). Debian and derivatives ====================== The easiest way to install Kwant on a Debian system is using the pre-built packages we provide. Our packages are known to work with Debian "stable" and Debian "testing", but they may also work on many other recent Debian-derived systems as well. (For example, the following works with recent Ubuntu versions, too.) The lines prefixed with ``sudo`` have to be run as root. 1. Add the following lines to ``/etc/apt/sources.list``:: deb http://downloads.kwant-project.org/debian/ stable main deb-src http://downloads.kwant-project.org/debian/ stable main 2. (Optional) Add the OpenPGP key used to sign the repositories by executing:: sudo apt-key adv --keyserver pgp.mit.edu --recv-key C3F147F5980F3535 3. Update the package data, and install Kwant:: sudo apt-get update sudo apt-get install python-kwant python-kwant-doc The ``python-kwant-doc`` package is optional and installs the HTML documentation of Kwant in the directory ``/usr/share/doc/python-kwant-doc``. Should the last command (``apt-get install``) fail due to unresolved dependencies, you can try to build and install your own packages, which is surprisingly easy:: cd /tmp sudo apt-get build-dep tinyarray apt-get source --compile tinyarray sudo dpkg -i python-tinyarray_*.deb sudo apt-get build-dep kwant apt-get source --compile kwant sudo dpkg -i python-kwant_*.deb python-kwant-doc_*.deb This method should work for virtually all Debian-derived systems, even on exotic architectures. Ubuntu and derivatives ====================== Execute the following commands:: sudo apt-add-repository ppa:kwant-project/ppa sudo apt-get update sudo apt-get install python-kwant python-kwant-doc This should provide Kwant for all versions of Ubuntu >= 12.04. The HTML documentation will be installed locally in the directory ``/usr/share/doc/python-kwant-doc``. Arch Linux ========== `Arch install scripts for Kwant <https://aur.archlinux.org/packages/python2-kwant/>`_ are kindly provided by Max Schlemmer. To install, follow the `Arch User Repository installation instructions <https://wiki.archlinux.org/index.php/Arch_User_Repository#Installing_packages>`_. Mac OS X ======== There is a number of different package managers for bringing software from the Unix/Linux world to Mac OS X. Since the community is quite split, we provide Kwant and its dependencies both via the `homebrew <http://brew.sh>`_ and the `MacPorts <http://www.macports.org>`_ systems. Mac OS X: homebrew ================== homebrew is a recent addition to the package managers on Mac OS X. It is lightweight, tries to be as minimalistic as possible and give the user freedom than Macports. We recommend this option if you have no preferences. 1. Open a terminal and install homebrew as described on the `homebrew homepage <http://brew.sh>`_ (instructions are towards the end of the page) 2. Run :: brew doctor and follow its directions. It will ask for a few prerequisites to be installed, in particular * the Xcode developer tools (compiler suite for Mac OS X) from `<http://developer.apple.com/downloads>`_. You will need an Apple ID to download. Note that if you have one already from using the App store on the Mac/Ipad/Iphone/... you can use that one. Downloading the command line tools (not the full Xcode suite) is sufficient. If you have the full Xcode suite installed, you might need to download the command line tools manually if you have version 4 or higher. In this case go to `Xcode->Preferences`, click on `Download`, go to `Components`, select `Command Line Tools` and click on `Install`. * although `brew doctor` might not complain about it right away, while we're at it, you should also install the X11 server from the `XQuartz project <http://xquartz.macosforge.org>`_ if you have Mac OS X 10.8 or higher. 3. Add permanently ``/usr/local/bin`` before ``/usr/bin/`` in the ``$PATH$`` environment variable of your shell, for example by adding :: export PATH=/usr/local/bin:$PATH at the end of your ``.bash_profile`` or ``.profile``. Then close the terminal and reopen it again. 4. Install a few prerequisites :: brew install gcc python 5. Add additional repositories :: brew tap homebrew/science brew tap homebrew/python brew tap michaelwimmer/kwant 6. Install Kwant and its prerequisites :: pip install nose six brew install numpy scipy matplotlib brew install kwant Notes: - If something does not work as expected, use ``brew doctor`` for instructions (it will find conflicts and things like that). - As mentioned, homebrew allows for quite some freedom. In particular, if you are an expert, you don't need necessarily to install numpy/scipy/matplotlib from homebrew, but can use your own installation. The only prerequisite is that they are importable from python. (the Kwant installation will in any case complain if they are not) - In principle, you need not install the homebrew python, but could use Apple's already installed python. Homebrew's python is more up-to-date, though. Mac OS X: MacPorts ================== MacPorts is a full-fledged package manager that recreates a whole Linux-like environment on your Mac. In order to install Kwant using MacPorts, you have to 1. Install a recent version of MacPorts, as explained in the `installation instructions of MacPorts <http://www.macports.org/install.php>`_. In particular, as explained there, you will have to install also a few prerequisites, namely * the Xcode developer tools (compiler suite for Mac OS X) from `<http://developer.apple.com/downloads>`_. You will need an Apple ID to download. Note that if you have one already from using the App store on the Mac/Ipad/Iphone/... you can use that one. You will also need the command line tools: Within Xcode 4, you have to download them by going to `Xcode->Preferences`, click on `Download`, go to `Components`, select `Command Line Tools` and click on `Install`. Alternatively, you can also directly download the command line tools from the Apple developer website. * if you have Mac OS X 10.8 or higher, the X11 server from the `XQuartz project <http://xquartz.macosforge.org>`_. 2. After the installation, open a terminal and execute :: echo http://downloads.kwant-project.org/macports/ports.tar |\ sudo tee -a /opt/local/etc/macports/sources.conf >/dev/null (this adds the Kwant MacPorts download link `<http://downloads.kwant-project.org/macports/ports.tar>`_ at the end of the ``sources.conf`` file.) 3. Execute :: sudo port selfupdate 4. Now, install Kwant and its prerequisites :: sudo port install py27-kwant 5. Finally, we choose python 2.7 to be the default python :: sudo port select --set python python27 After that, you will need to close and reopen the terminal to have all changes in effect. Notes: * If you have problems with macports because your institution's firewall blocks macports (more precisely, the `rsync` port), resulting in errors from ``sudo port selfupdate``, follow `these instructions <https://trac.macports.org/wiki/howto/PortTreeTarball>`_. * Of course, if you already have macports installed, you can skip step 1 and continue with step 2. Microsoft Windows ================= There are multiple distributions of scientific Python software for Windows that provide the prerequisites for Kwant. We recommend to use the packages kindly provided by Christoph Gohlke. To install Kwant on Windows 1. Determine whether you have a 32-bit or 64-bit Windows installation by following these `instructions <http://support.microsoft.com/kb/827218>`_. 2. Download and install Python 2.7 for the appropriate architecture (32-bit or 64-bit) from the official `Python download site <http://www.python.org/download/>`_. 3. Open a command prompt, as described in "How do I get a command prompt" at the `Microsoft Windows website <http://windows.microsoft.com/en-us/windows/command-prompt-faq>`_. 4. In the command prompt window, execute:: C:\Python27\python.exe C:\Python27\Tools\Scripts\win_add2path.py (Instead of typing this command, you can also just copy it from here and paste it into the command prompt window). If you did not use the default location to install Python in step 2, then replace ``C:\Python27`` by the actual location where Python is installed. 5. Reboot your computer. 6. Download the necessary packages (with the ending ``.whl``) for your operating system (32 or 64 bit) and Python version (e.g. ``cp27`` for Python 2.7) from the website of `Christoph Gohlke <http://www.lfd.uci.edu/~gohlke/pythonlibs/>`_. For Kwant, we recommend to download at least `NumPy <http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy>`_, `SciPy <http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy>`_, `Matplotlib <http://www.lfd.uci.edu/~gohlke/pythonlibs/#matplotlib>`_, `Nose <http://www.lfd.uci.edu/~gohlke/pythonlibs/#nose>`_, `Tinyarray <http://www.lfd.uci.edu/~gohlke/pythonlibs/#tinyarray>`_, and `Kwant <http://www.lfd.uci.edu/~gohlke/pythonlibs/#kwant>`_ itself. 7. Now open a command prompt with administrator rights, as described in "How do I run a command with elevated permissions" at the `Microsoft Windows website <http://windows.microsoft.com/en-us/windows/command-prompt-faq>`_. In this new command prompt window, execute :: pip install <filename> for each of the downloaded files (replacing ``<filename>`` with it). Now you are done, you can ``import kwant`` from within Python scripts. (Note that many other userful scientific packages are available in Gohlke’s repository. For example, you might want to install `IPython <http://www.lfd.uci.edu/~gohlke/pythonlibs/#ipython>`_ and its various dependencies so that you can use the `IPython notebook <http://ipython.org/notebook.html>`_.)