Manual:Pywikibot/Installation

  This page will help you get started with Pywikibot, either on your own computer, on Toolforge, or using PAWS: A Web Shell.

  On PAWS PAWS: A Web Shell is the easiest way to get started with Pywikibot. No installation is necessary, and you use a web interface to submit commands.

 On your own computer

Below is a manual to help you set Pywikibot up and running on your own computer. There are four main steps to this process:  On Toolforge
 * Installing Python
 * Installing Pywikibot
 * Configuring Pywikibot
 * Running a script

Toolforge provides you with a stable cloud infrastructure on Wikimedia servers that allows you to run bots continuously or on a schedule.

Install Python
Download and install Python from https://www.python.org/downloads/.

If you already have Python installed, check if your version is recent enough by running  in a console. If you have installed, your version of Python is recent enough.

On Windows please do not forget to modify PATH environment variable to make Python and pip work properly.

Install dependencies
An additional package named requests is required to run Pywikibot. Use pip, which is already installed if you have Python 2.7.9 or higher, or Python 3.4 or higher. Run the following command to install this package:

Install Pywikibot
To install using PyPI (excluding scripts)

Download current Pywikibot stable branch: .tar.gz, .zip.

Python 2.7 users should download the stable python2 branch: .tar.gz, .zip instead.

Unpack downloaded file, for example in or.

Alternatively, you may retrieve the latest version using git or svn client from Gerrit, see. This is the recommended way for active bot operators and developers to use Pywikibot.

Other versions are available at https://pywikibot.toolforge.org/.

Updating Pywikibot
Keep your bot framework up to date. New versions are released continuously, and are available at the same location.

If you are using git or svn release, you may skip this note. Otherwise please be aware of a necessity to backup your configuration files and scripts ( user-config.py , any family file, or custom script that you might have created or changed, and any current XML dump file you're using for a wiki) before installing a new release.

Unpack the new version over the old version, overwriting all files.

Configure Pywikibot
Open Terminal on Unix-like (Linux/BSD/Solaris) or Command Prompt on Windows (typically under Windows System or Accessories folders in All apps or All programs menu inside the Start menu), and change directory to where you unpacked Pywikibot:


 * Unix-like (Linux/BSD/Solaris):




 * Windows:



Of course substitute the location to where you unpacked Pywikibot.

Continue with the following command to generate user configuration file:

Follow the prompts to configure Pywikibot.

Finally run the following command to log in to your wiki:

Use on third-party wikis
Pywikibot is pre-configured for a large number of wikis, but possibly not for the one you want to work on. See for how to configure Pywikibot for your wiki.

More configuration options
Pywikibot provides a wide range of configuration options to change the behavior of your bot. You can change these settings in the file  user-config.py . See config2.py for a list of all parameters you can use.

Proxy configuration
Pywikibot relies on for communicating with the web. You can use  and  environment variables to make requests use a proxy server. Refer to [https://2.python-requests.org/en/master/user/advanced/#proxies requests' documentation] for more info.

Run a script
Pywikibot comes packaged with a large number of scripts in the scripts directory. You can run all of these using:

A list of all scripts is available at.

Other dependencies
Most scripts do not require additional packages, but a few of them will not work without. These are listed in requirements.txt together with their dependencies.

To install dependencies for some script, use pip, and run the following command:

Alternatively, run the following command to install all dependencies for all scripts at once: