17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

468<br />

Techniques avancées<br />

QUATRIÈME PARTIE<br />

Compilation sous Linux<br />

$ python setup.py build<br />

running build<br />

running build_ext<br />

building '_exemple' extension<br />

creating build<br />

creating build/temp.linux-i686-2.4<br />

gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -fomit-frame-pointer<br />

-pipe -march=i586 -mtune=pentiumpro -g -fPIC -I/usr/include/python2.6 -c<br />

exemple.c -o build/temp.linux-i686-2.4/exemple.o<br />

exemple.c:22:2: warning: no newline at end of file<br />

gcc -pthread -fno-strict-aliasing -DNDEBUG -O2 -fomit-frame-pointer<br />

-pipe -march=i586 -mtune=pentiumpro -g -fPIC -I/usr/include/python2.6 -c<br />

exemple_wrap.c -o build/temp.linux-i686-2.4/exemple_wrap.o<br />

creating build/lib.linux-i686-2.4<br />

gcc -pthread -shared build/temp.linux-i686-2.4/exemple.o build/<br />

temp.linux-i686-2.4/exemple_wrap.o -o build/lib.linux-i686-2.4/<br />

_exemple.so<br />

Cet appel crée un sous-répertoire build contenant une arborescence de plusieurs<br />

répertoires. On retrouve un fichier compilé _exemple.so, prêt à être installé par un<br />

appel à install. Sous MS-Windows, un fichier _exemple.dll est créé en lieu et<br />

place de exemple.so.<br />

Installation de l'extension<br />

$ su<br />

Password:<br />

# python setup.py install<br />

running install<br />

running build<br />

running build_ext<br />

running install_lib<br />

copying build/lib.linux-i686-2.4/_exemple.so -> /usr/lib/python2.6/<br />

site-packages<br />

Il est en général nécessaire de passer en super-utilisateur pour cette étape, afin d’avoir<br />

accès en écriture au répertoire site-packages de Python.<br />

Le module est à présent installé et utilisable dans Python.<br />

Essais de l’extension exemple<br />

>>> import exemple<br />

>>> dir(exemple)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!