Manual:Pywikibot/Installation/fr

Installation initiale
En fonction de la branche que vous voulez installer et de de votre système d'exploitation, vous devez faire les choses suivantes :
 * 1) Télécharger Python (pour les utilisateurs de Windows) ou le mettre à jour si nécessaire (utilisateurs de Mac).
 * 2) Installer httplib2 (seulement pour "core", si vous utilisez "compat" ce n'est pas nécessaire).
 * 3) Télécharger Pywikibot.

Télécharger Python

 * Unix systems: typically have a recent-enough version of Python (2.5 for compat, 2.7 for core) installed. Check with.


 * Mac OS X 10.8+: has a version of Python that is recent enough to run pywikibot. If you run an older OS X, or are unsure, download and install Python 2.7.6 from http://www.python.org/downloads/


 * Windows: download and install the latest release Python 2.7 from http://www.python.org/downloads/


 * Python 3: Pywikibot currently does not work on Python 3. The support is being implemented in Core branch

Two versions of pywikibot
There are two branches under active development. You can choose between:
 * Core (formerly rewrite), which should be your first choice. If you don't know what to choose, take this branch.
 * Compat (formerly trunk) is an older version of the framework. If you are editing on old wikis (pre-1.16 or so), or require one of the scripts that is not available on core yet (see the compatibility list), this is what you want.

Due to an Unicode bug in the underlying python library, python version 2.7.2 or higher is strictly recommended for Wikimedia projects using the Compat branch. See also the requirements for a bot, which describes needed python version and pywikibot branches.

Télécharger Pywikibot
La manière la plus simple de télécharger Pywikibot est d'utiliser la dernière version compilée. Téléchargez juste le fichier ZIP de Pywikibot sur votre ordinateur et décompressez-le - aucune installation n'est requise.

Télécharger Pywikibot avec Git
Pour une installation avec Git vous devriez exécuter :
 * Pour "core" (anciennement "rewrite")
 * Pour "compat" (anciennement "trunk")

L'option  installe automatiquement les sous-modules nécessaires (comme les messages ou l'orthographe i18n) mais si vous n'utilisez pas cette option, vous devrez les installer à part après le clonage. Il y a deux commandes (i18n est vraiment nécessaire même pour les robots en anglais) :

Télécharger Pywikibot avec SVN
Si vous ne voulez pas utiliser Git vous pouvez aussi utiliser SVN :
 * Pour "core" (anciennement "rewrite")

Windows user may use the GUI extension TortoisSVN, see next section below.

For installing with SVN you should run


 * For core (formerly rewrite)
 * Pour "compat" (anciennement "trunk")

Télécharger Pywikibot avec TortoiseSVN pour les utilisateurs de Windows
TortoiseSVN is a Windows shell extension with GUI working as SVN client. You may download the current release at http://tortoisesvn.net/downloads.html. Si vous utilisez TortoiseSVN suivez ces instructions :

Maintenant nous devons installer les libraires externes utilisées par le framework. Il y a plusieurs manières de faire cela, par exemple avec la commande checkout. Une autre manière est d'utiliser des propriétés :
 * Pour la version "core" (anciennement "rewrite")
 * 1) Faites un clic droit sur votre dossier préféré et exécutez
 * 2) Choisissez  et collez l'URL
 * 3) Choisissez  et changez le dossier par défaut, par exemple , pour   si vous voulez.
 * 4) Confirmer avec.
 * 1) Faites un clic droit sur votre dossier de travail
 * 2) Sélectionnez le dernier item dans la liste déroulante qui devrait être les
 * 3) Sélectionnez le tableau  et cliquez sur le bouton
 * 4) Cliquez sur  et sélectionnez.
 * 5) Cliquez encore une fois sur   pour ajouter un nouveau item externe.
 * 6) Tapez   dans   et   dans
 * 7) Confirmez avec   pour cet item
 * 8) Cliquez encore sur   pour ajouter un second item externe
 * 9) Tapez   dans   et   dans
 * 10) Confirmez avec   pour cet item
 * 11) Confirmez avec   pour les paramètres externes.
 * 12) Confirmez avec   pour la configuration des propriétés.
 * 13) Confirmez avec   pour les propriétés du dossier
 * 14) Maintenant faites un clic droit sur votre copie de travail et sélectionnez   pour télécharger les librairies externes.

Maintenant nous devons installer les librairies externes utilisées par le framework. Il y a différentes façons de faire cela, par exemple avec la commande "checkout". Une autre façon est d'utiliser les propriétés de la même façon que dans la version "core"
 * Pour la version "compat" (anciennement "trunk")
 * 1) Faites un clic droit sur votre dossier préféré et exécutez
 * 2) Choisissez   et collez l'URL
 * 3) Choisissez   et changez le dossier par défaut, par exemple , pour   si vous voulez.
 * 4) Confirmez avec

Right-click on your working copy and choose
 * Updating the working copy

Raccourci en ligne de commande
To allow your source code to be developed outside of the pywikibot source directory, add something like: to a file that gets run on login, usually ~/.bashrc - this avoids typing the export PYTHONPATH part in each time you log in. Naturally, change paths to match your installation.

Similarly, you can set the PYWIKIBOT_DIR environment variable to specify the directory in which user-specific information is stored (in particular, user-config.py which contains login data for the bot).

Utilisateurs de Windows : créer un raccourci
Créer un raccourci rapide vers la console en ligne de commandes (utilisateurs de Windows) :

Si vous installez Pywikibot dans un dossier comme "Mes documents", il serait ennuyeux d'utiliser à chaque fois la commande "chdir" pour aller dans le dossier pour exécuter les robots.

Sur Windows, vous pouvez créer un raccourci qui ouvrira la console et que vous pouvez utiliser pour exécuter facilement des robots. Suivez simplement ces étapes pour en créer un :
 * 1) Faites un clic droit sur le dossier où Pywikibot est installé.
 * 2) Cliquez sur "Créer un raccourci". Une nouvelle icône avec la flèche indicatrice sera crééée.
 * 3) Faites un clic droit sur le nouveau raccourci, et cliquez sur "Propriétés".
 * 4) Dans la fenêtre des propriétés, dans le champ "Cible", tapez "cmd.exe".
 * 5) Dans le champ "Démarrer dans" entrez l'adresse complète du dossier de Pywikibot.
 * 6) Cliquez sur "OK".
 * 7) Cliquez sur le raccourci et cmd.exe s'ouvre avec le chemin d'accès déjà affiché.
 * Si vous faites F5 pour actualiser la fenêtre (ou que vous ré-ouvrez les propriétés du raccourci), vous remarquerez que l'icône aura changée.

Mise-à-jour
The pywikibot framework is a perpetual beta software. Bugfixes, new options, new behavior and changes of the mediawiki software leads to frequently new releases and needs the working copy code to be up to date. Please update your branch regularly (daily period or at least once a week).

Updating nightly dump

 * If you are using a nightly version, the process is a bit more complicated. You have to re-download a full copy from here. Before installing it, backup your configuration files and scripts (user-config.py, any family file, or custom script that you might have created, and any current dump xml file you're using for a wiki). Replace your pywikibot directory by the new version you just downloaded. Restore your configuration files. If you're not sure of what you're doing, do not erase but keep a backup of your complete old pywikibot directory, to avoid losing any important files.

Updating git

 * Si vous avez utilisé Git pour télécharger Pywikibot, vous devrez aller dans son dossier et exécuter la commande suivante :


 * Si vous utilisez une version compilée, le processus est un peu plus compliqué. Vous devez re-télécharger une copie complète via [$pwb_nightly ce lien]. Avant de l'installer, sauvegardez vos fichiers de configuration et vos scripts (user-config.py, tout fichier "family" ou script personnalisé que vous auriez créé, et tout fichier XML de dump que vous utiliseriez actuellement pour un wiki). Remplacez votre dossier Pywikibot par la nouvelle version que vous venez de télécharger. Restaurez vos fichiers de configuration. Si vous n'êtes pas sûr de ce que vous faites, n'effacez rien mais gardez une sauvegarde de votre ancien dossier Pywikibot, pour éviter de perdre tout fichier important.

Mise-à-jour automatique sur Wikimedia Labs ou Toolserver
For automatic updating you can make update bash file and put it in root and fill it with these commands, For WMF labs (in your service group): and then run crontab -e and enter the following to make your bot to run every day at 00:00AM (midnight): Notice: in these cods yourservicegroup is name of your service group (without "-local").

For auto-updating in toolserver you just need to as the same as above but instead of "/data/project/yourservicegroup/" you need to enter "/data/project/yourusername/" which is "yourusername" is your user name!

Updating svn
Pour mettre à jour le code : To update the code for compat branch:

Updating with TortoiseSVN (for Windows user)
Updating the working copy with TortoiseSVN is just easy: Right-click on your working copy directory and choose

Dépendances
Le framework de Pywikibot est un code plutôt gros et complexe et en tant que tel il nécessite des modules externes de Python (librairies) issus d'autres sources, et également pour fonctionner correctement. Les dépendances peuvent être installées manuellement ou automatiquement (pas encore supporté par "core").

Si un problème survient pendant l'installation des dépendances, veuillez fournir un fichier de rapport de bogue ou écrire à la maillist de Pywikipedia-l.

Automatique (recommandé)
If available this is the recommended way, because this will result in an identical setup on all machines. All you have to do is just execute your favorite script after installation (for example, ) and pywikibot will ask you whether you want to install missing packages, and continue to ask questions on how you want to configure your local copy.

Packages will be installed from OS package management if possible (all Linux, not under win). If they cannot be found they will be downloaded as archive from original source, extracted and installed. In the course of this process a few packages have to be slightly modified in order to work seamlessly with pywikibot. This modification needs an additional binary tool called patch (patch.exe under win). Unfortunately this is not available from MS; however, we can use a port of the original linux code (gnuwin32 patch.exe)

It is worth mentioning here that - despite the OS package management "install mode" - all files are installed locally into the externals/ directory of pywikibot. This is a very useful feature for users that do not have permission to install software to their system, e.g. non-admins.

Manuelle (utilisateurs experts)
In order to install the needed packages manually, you first need to know which ones. A full list of all needed modules can be found in externals/__init__.py and contains: Which ones you really need, depends strongly on the script you intend to run - if you are unsure use the automatic mode above. In order to check correct installation just run a bot script. If the dependencies are satisfied everything will be ok, else the framework will complain and ask whether it should install missing packages automatically.
 * framework core code:
 * i18n [git submodule]
 * spelling [git submodule]
 * httplib2 [git submodule]
 * BeautifulSoup.py [included since important]
 * patch.exe
 * depending of which script will be used:
 * opencv, opencv/haarcascades [git submodule]
 * pycolorname [git submodule]
 * irclib
 * mwparserfromhell
 * parse-crontab
 * odfpy
 * openpyxl
 * python-colormath
 * jseg, jseg/jpeg-6b
 * mlpy
 * music21
 * ocropus
 * pydmtx
 * py_w3c
 * zbar
 * (slic)
 * (bob, xbob_flandmark)

Installation sur Wikimedia Labs ou Toolserver
In order to install your bot onto the Wikimedia servers and run it from there, make sure first to become familiar with Wikimedia Labs/Tool Labs environment.

In the next step you have to request several accounts (for labs, for the tools project, your tool), provide an ssh key and so on. How to do this and then proceed, is described in full detail in Setup pywikibot on Labs.

Pywikibot source repo moved (from svn) to git, please confer Manual:Pywikipediabot/Gerrit first.

The bots projects here has become obsolete use tools now, in order to do so follow Tools/Help to get an account. Then create your tool (service group).

If you used the toolserver in the past and know how everything used to work there, confer migrating from toolserver for more info.

Now you are ready to start. Login to Labs tools project: $ ssh USERNAME@tools-login.wmflabs.org switch to the tool account with maintainer@tools-login:~$ become toolname local-toolname@tools-login:~$

Now install/clone the pywikibot code to your tool account as described below.

core
Similar to the instructions given in this mail do: $ git clone --recursive https://gerrit.wikimedia.org/r/pywikibot/core.git pywikibot-core $ cd pywikibot-core

Now you have to setup pywikibot. Choose any one of the following processes to configure your system:
 * Execute
 * Run your favorite bot script (e.g. ) since you are doing this in a fresh clone, it will trigger a bunch of questions on how you want to configure your local copy, answer them carefully in order to proceed.
 * If you already have a config file(s) from a previous version, you can copy those existing files into the right places (e.g. pywikibot-compat/).

Further things you might have to to do (depending on what bot scripts you want to run) is to setup all externals properly - which still has to be done manually in core $ cd externals $ cat READM and follow the instructions there.

You will also have to enter the password for your bot eventually.

Now you have finished the configuration of core and can continue setting up the jobs to execute.

compat
Do: $ git clone --recursive https://gerrit.wikimedia.org/r/pywikibot/compat.git pywikibot-compat

Now, as similarly described in the core section above, you have to setup pywikibot. Choose any one of the following processes to configure your system:
 * Execute
 * Run your favorite bot script (e.g. ) since you are doing this in a fresh clone, it will trigger a bunch of questions on how you want to configure your local copy, answer them carefully in order to proceed.
 * If you already have a config file(s) from a previous version, you can copy those existing files into the right places (e.g. pywikibot-compat/).

See this article for more details on configuring your bot including creating the files manually. You may setup all externals manually if you want - but this is not needed in compat, confer Manual:Pywikipediabot/Installation for further info.

You will also have to enter the password for your bot eventually.

Now you have finished the configuration of compat and can continue setting up the webspace and jobs to execute.

Installer l'espace web
Per default, the directory listing on http://tools.wmflabs.org/TOOLNAME is disabled. If you want to allow it for all users, login to your tool account (as already described) and $ cd ~/public_html $ echo Options +Indexes >> .htaccess

If you run a bot with the  option, you will find the log files within the logs/ directory. If you want to allow users to access it from the web, do $ cd ~/public_html $ mkdir logs $ cd logs $ ln -s ~/pywikibot-core/logs cor

If you want a specific file type to be handled differently by your browser, e.g. .log files like text files, use (confer this) $ echo AddType text/plain .log >> .htaccess and (don't forget to) clear your browsers cache afterwards.

Next you might want to consider you cgi-bin directory $ cd ~/cgi-bin follow the hints given at wikitech:Nova Resource:Tools/Help exactly, e.g. even the two commands

$ /usr/bin/python     # valid $ /usr/bin/env python # in-vali work and do the same in shell, only the first one is valid and works here, the second is invalid! Another point to mention is that PHP scripts go into public_html, not cgi-bin. Python scripts on the other hand can be placed in public_html or cgi-bin as you wish. I would recommend to use public_html for documents and keep it listable, whereas cgi-bin should be used for CGI scripts and be protected (not listable).

Setup the job submission
In order to setup the submission of the jobs you want to execute and use the grid engine you should first consider wikitech:Nova Resource:Tools/Help and if you are familiar with the Toolserver and its architecture consult Migrating from toolserver also.

In general labs uses SGE and its commands like qsub</tt> et al, this is explained in this document which you should use in order to get an idea which command and what parameters you want to use.

An infinitely running job (e.g. irc-bot) like this (cronie</tt> entry from TS submit host): 06 0 * * * qcronsub -l h_rt=INFINITY -l virtual_free=200M -l arch=lx -N script_wui $HOME/rewrite/pwb.py script_wui.py -log becomes $ jsub -once -continuous -l h_vmem=256M -N script_wui python $HOME/pywikibot-core/pwb.py script_wui.py -log or shorter $ jstart -l h_vmem=256M -N script_wui python $HOME/pywikibot-core/pwb.py script_wui.py -log the first expression is good for debugging. Memory values smaller than 256MB seam not to work here, since that is the minimum. If you experience problems with your jobs, like e.g. Fatal Python error: Couldn't create autoTLSkey mapping you can try increasing the memory value - which is also needed here, because this script uses a second thread for timing and this thread needs memory too. Therefore use finally $ jstart -l h_vmem=512M -N script_wui python $HOME/pywikibot-core/pwb.py script_wui.py -log Now in order to create a crontab follow Scheduling jobs at regular intervals with cron and setup for crontab file like: $ crontab -e and enter PATH=/usr/local/bin:/usr/bin:/bin 06 0 * * * jstart -l h_vmem=512M -N script_wui python $HOME/pywikibot-core/pwb.py script_wui.py -lo

Configuration supplémentaire
Furthermore additional tools to support you and your bot at work are available:
 * wikitech:Nova Resource:Tools/Help, basically out-of-the-box but just for a short time period
 * wikitech:Nova Resource:Tools/Help
 * Gerrit/New repositories
 * Git/New repositories/Requests

Creating user files
As a final step before using the bot scripts, you have to create user configuration files. The main one is. If you execute your favorite script after installation (for example, ) then pywikibot ask questions on how you want to configure your local copy and will create these files. You can also run ../generate user files.py to create these files.

Running Pywikibot under Windows
Please notice the instruction at Manual:Pywikibot/Windows.

Verifying your installation
With the core branch, entering python pwb.py login should prompt for the login password for your bot, and then report Logged in on somewiki:lang as bot username.