# Common **Note: there is an even easier [installation guide in the documentation!](http://doc.supybot.aperio.fr/en/latest/use/install.html)** First things first: Supybot *requires* at least Python 2.6. There isn't any way to get around it. You can get it from the [Python homepage]. [Python homepage]:http://python.org/ # Recommended Software The following libraries are not needed for running Limnoria, but enable extra features you may want (ordered by decreasing estimated usefulness): [charade] -- enables better encoding handling [pytz] and [python-dateutil] -- enable additional features of the `Time` plugin [python-gnupg] -- enables user authentication with GPG [charade]:https://pypi.python.org/pypi/charade [pytz]:https://pypi.python.org/pypi/pytz [python-dateutil]:https://pypi.python.org/pypi/python-dateutil [python-gnupg]:https://pypi.python.org/pypi/python-gnupg To install them, run `pip install -r requirements.txt` or for a local install (if you don't have or don't want to use root), `pip install -r requirements.txt --user` For more information and help on how to use Supybot, check out the documents under [docs/], especially [GETTING_STARTED] and [CONFIGURATION], or on [the website]. [docs/]:docs/index.rst [GETTING_STARTED]:docs/GETTING_STARTED.rst [CONFIGURATION]:docs/CONFIGURATION.rst [the website]:http://supybot.aperio.fr/doc/use/index.html So what do you do? That depends on which operating system you're running. We've split this document up to address the different installation methods, so find the section for your operating system and continue from there. # UNIX/Linux/BSD If you use [Debian or Ubuntu, click here](INSTALL.md#debian). If you use [Fedora, click here.](INSTALL.md#fedora) If you're installing Python using your distributor's packages, you may need a python-dev or python3-dev package installed, too. If you don't have a `/usr/lib/python2.x/distutils` directory or `/usr/lib/python2.x/config/Makefile`; or with Python 3 `/usr/lib/python3.x/distutils` or `/usr/lib/python3.x/config/Makefile` (assuming `/usr/lib/python2.x` or `/usr/lib/python3.x` is where your Python libs are installed), then you will need a python-dev or python3-dev package. ## git First start by git cloning Limnoria and moving to the cloned repository. ``` git clone https://github.com/ProgVal/Limnoria.git cd Limnoria ``` The rest depends on whether you have root access and want a global or local install. ### Global install Run ``` python setup.py install ``` `python` can be replaced with `python2` (if your distribution uses Python 3 by default) or `python3` if you want to use the Python 3 version of the bot. Now you have several new programs installed where Python scripts are normally installed on your system (`/usr/bin` or `/usr/local/bin` are common on UNIX systems). The two that might be of particular interest to you as a new user are 'supybot' and 'supybot-wizard'. The former, 'supybot', is the script to run an actual bot; the latter, 'supybot-wizard', is an in-depth wizard that provides a nice user interface for creating a registry file for your bot. ### Local install Run ``` python setup.py install --user ``` `python` can be replaced with `python2` (if your distribution uses Python 3 by default) or `python3` if you want to use the Python 3 version. and you will have new programs installed in `~/.local/bin`. The two that might be of particular interest to you as a new user are 'supybot' and 'supybot-wizard'. The former, 'supybot', is the script to run an actual bot; the latter, 'supybot-wizard', is an in-depth wizard that provides a nice user interface for creating a registry file for your bot. By default you must run the bot with full path to the binary unless you specify a $PATH. Run the following command to fix your PATH. We assume that you use bash (and if you don't, you probably already know how to do this with the shell you are using). ``` echo 'PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc ``` ## Debian *Debian packages are automatically built nightly at 00:00Z.* For Debian and other distributions based on it (Ubuntu, etc.), there are pre-built packages which you can install with: ``` wget http://builds.progval.net/limnoria/debian/python2/limnoria-master-HEAD.deb sudo dpkg -i limnoria-master-HEAD.deb ``` ## Fedora *Fedora packages are automatically built nightly at 00:00Z.* For Fedora and other distributions using rpm (RHEL, CentOS etc.), there are pre-built packages which you can install with: ``` yum install http://builds.progval.net/limnoria/fedora/python2/limnoria-master-HEAD.noarch.rpm ``` ## Pip To install with pip, run: ``` sudo pip install -r https://raw.githubusercontent.com/ProgVal/Limnoria/master/requirements.txt sudo pip install git+https://github.com/ProgVal/Limnoria.git@master ``` or for a local install: ``` pip install -r https://raw.githubusercontent.com/ProgVal/Limnoria/master/requirements.txt --user pip install git+https://github.com/ProgVal/Limnoria.git@master --user ``` If you wish to use Python 3 or 2 instead of default of your distribution run `pipX` where X is either 2 or 3 (`pip2` or `pip3`) instead of `pip`. If pip gives an error immediately instead of doing anything and you have git installed, try upgrading pip with `sudo pip install pip --upgrade` (or locally, `pip install pip --upgrade --user`). ### Upgrading #### git To upgrade, return to the cloned Limnoria repository and run: ``` git pull ``` and then install Limnoria normally. "python setup.py install" doesn't affect config files of the bot in any way. If you don't have the cloned Limnoria repository, clone it again using the installation instructions. ### Debian/Fedora Run the same commands as before on the [Debian](INSTALL.md#debian) or [Fedora](INSTALL.md#fedora) sections of this file. ### Pip Run the first install command again, but add `--upgrade` to the end. Then run the second install command. ## Upgrading to Python 3 Upgrading to Python 3 happens the same way, but if you want to move from 2 to 3 or 3 to 2, you must remove the `build/` directory and the executable `supybot*` files first. `The build/` directory is in same directory as this file and the `supybot*` executables are usually in `/usr/local/bin` or `~/.local/bin`. ``` rm -rf build/ rm /usr/local/bin/supybot* rm ~/.local/bin/supybot* ``` ## Windows **Note**: If you are using an IPV6 connection, you will not be able to run Supybot under Windows (unless Python has fixed things). Current versions of Python for Windows are *not* built with IPV6 support. This isn't expected to be fixed until Python 2.4, at the earliest. Now that you have Python installed, open up a command prompt. The easiest way to do this is to open the run dialog (Programs -> Run) and type "cmd" (for Windows 2000/XP/2003+) or "command" (for Windows 9x). In order to reduce the amount of typing you need to do, I suggest adding Python's directory to your path. If you installed Python using the default settings, you would then do the following in the command prompt (otherwise change the path to match your settings): ``` set PATH=C:\Python2x\;%PATH% ``` You should now be able to type 'python' to start the Python interpreter. Exit by pressing CTRL-Z and then Return. Now that that's setup, you'll want to cd into the directory that was created when you unzipped Supybot; I'll assume you unzipped it to `C:\Supybot` for these instructions. From `C:\Supybot`, run ``` python setup.py install ``` This will install Supybot under `C:\Python2x\`. You will now have several new programs installed in `C:\Python2x\Scripts\`. The two that might be of particular interest to you as a new user are 'supybot' and 'supybot-wizard'. The former, 'supybot', is the script to run an actual bot; the latter, 'supybot-wizard', is an in-depth wizard that provides a nice user interface for creating a registry file for your bot.