OVH Cloud OVH Cloud

comment installer des libs avec windows ?

4 réponses
Avatar
Sébastien Kirche
Bonjour,

je suis habituellement sous GNU/Linux mais là je souhaite tester
quelques applications python sur un win XP.

J'ai installé python 2.4 à partir du setup python-2.4.2.msi jusque là
pas de problème. Le shell fonctionne et quand je clique sur un .py ça se
lance; par exemple j'arrive à lancer pynche du répertoire tools de
l'arborescence python.

Pour tester le newsreader xpn[1], j'ai besoin de gtk (déjà installé en v.
2.8.9 pour utiliser le portage win de Gimp) et au lancement de xpn
l'appli râlait qu'elle ne trouvait pas les dll de libgtk. En
réinstallant la version win de gtk, xpn est tombé en marche.

Pas compris exactement ce qui a changé, je vois que le path a été
modifié pour inclure le répertoire bin de gtk2, modifié par le setup
mais pas par moi. Autrement XPN a aussi besoin de pygtk qui s'est
installé dans tout seul dans lib/site-packages ainsi que pycairo.

Maintenant j'essaie de tester le Hachoir[2] avec windows qui a besoin de
gtk, de glade et python-magic.

Au lancement du hachoir, j'ai eu une première erreur de dll non trouvée
libglade-2.0.0.dll puis de libxml2.dll. J'ai trouvé en ligne des
versions de ces dll qui permettent à l'application de démarrer
lorsqu'elles sont placées dans le même répertoire que hachoir.py. Où
faudrait-il placer ces dll pour que toute appli python puisse les
utiliser ? Faut-il modifier l'environnement ?

Le hachoir a besoin du module magic, or dans le shell si je teste un
import magic il ne trouve pas ce module. Où je pourrais trouver ce
module et où dois-je l'installer ? Dans lib/site-packages ?

Et enfin j'ai une exception lorsque j'essaie d'ouvrir certains fichiers
avec le hachoir, qui vient peut-être de l'absence de python-magic mais
je reviendrais plus tard si j'arrive à tout installer correctement.

Merci pour vos remarques et conseils.

Footnotes:
[1] http://xpn.altervista.org/index-en.html

[2] http://www.haypocalc.com/wiki/Hachoir

--
Sébastien Kirche

4 réponses

Avatar
Méta-MCI
Bonjour !


Beaucoup de questions... Je vais tenter quelques réponses.


... quand je clique sur un .py ça se lance




ça fonctionne aussi en invite de commande, en tapant le nom du script, suivi
de [Entrée] ; ça marche aussi avec les .pyw (même chose que les .py, mais
sans ouvrir de fenêtre).


Hachoir




Je ne connais pas le Hachoir. Mais, comme ça a l'air intéressant, je
consulterai le lien. Merci.


Où faudrait-il placer ces dll




Les DLL sont recherchées par windows, d'abord dans le répertoire courant,
puis dans C:windowssystem32 (plus exactement dans %WINDIR%system32), et,
ensuite, dans quelques autres répertoires.

Le plus souvent, les DLL sont installées dans %WINDIR%system32.

Attention, il y a un système de cache, qui peut nécessiter de redémarrer
l'ordi, en cas de mise à jour d'une DLL.

Autre chose : la restauration système, si elle est activée, peut gêner le
remplacement ou la suppression d'une DLL


module magic




Est-ce que ça a un lien avec Image-Magick ? Si oui, il faut installer ce
logiciel, indépendamment de Python.
Sinon, ce je connais pas ce module.

Mais, d'une manière générale (et sauf exceptions), il n'y a pas besoin
d'aller trifouiller dans site-packages. Les installations de modules python
font souvent tout ça de manière transparente.



@-salutations

Michel Claveau



Avatar
Sébastien Kirche
Méta-MCI a formulé la demande :
Bonjour !


Beaucoup de questions... Je vais tenter quelques réponses.


... quand je clique sur un .py ça se lance




ça fonctionne aussi en invite de commande, en tapant le nom du script, suivi
de [Entrée] ; ça marche aussi avec les .pyw (même chose que les .py, mais
sans ouvrir de fenêtre).


Ah oui tiens je n'avais pas remarqué que ça fonctionnait tout seul. En
dehors du double-clic je lançais comme sous linux avec
python.exe <le_script>


Où faudrait-il placer ces dll



Les DLL sont recherchées par windows, d'abord dans le répertoire courant,
puis dans C:windowssystem32 (plus exactement dans %WINDIR%system32), et,
ensuite, dans quelques autres répertoires.

Le plus souvent, les DLL sont installées dans %WINDIR%system32.

Attention, il y a un système de cache, qui peut nécessiter de redémarrer
l'ordi, en cas de mise à jour d'une DLL.

Autre chose : la restauration système, si elle est activée, peut gêner le
remplacement ou la suppression d'une DLL


Ça explique peut-être pourquoi xpn n'a pas fonctionné après la
réinstallation de gtk, puis il a fonctionné «tout seul» lors d'un essai
ultérieur.


module magic




Est-ce que ça a un lien avec Image-Magick ? Si oui, il faut installer ce
logiciel, indépendamment de Python.
Sinon, ce je connais pas ce module.


Je viens de chercher un peu de détails dessus. Ça n'a pas de rapport
avec Image-Magick mais plus avec la commande file et /etc/magic qui
permettent de déterminer la nature d'un fichier en fonction de valeurs
remarquables à l'intérieur et non en fonction de l'extension.
Apparemment ça ajoute son support pour python.

Seulement je ne sais pas comment ça s'utilise : sur ma Debian où j'ai
installé le package python2.4-magic je ne peux pas importer de module
magic... Quant à l'installation du module pour python-windows je vais
finir par extraire les fichiers d'un package linux s'il me manque
seulement des fichiers python.

Mais, d'une manière générale (et sauf exceptions), il n'y a pas besoin
d'aller trifouiller dans site-packages. Les installations de modules python
font souvent tout ça de manière transparente.


OK. Merci pour les infos sur l'installation dans windows, je n'ai
quasiment jamais utilisé et jamais installé python sur ce système.

--
Sébastien Kirche




Avatar
Laurent Pointal
...


faudrait-il placer ces dll pour que toute appli python puisse les
utiliser ?


A priori dans le répertoire DLLs qui est dans le répertoire de Python.

Avatar
Sébastien Kirche
Le 23 March 2006 à 14:02, Laurent Pointal s'est exprimé ainsi :

...


faudrait-il placer ces dll pour que toute appli python puisse les
utiliser ?


A priori dans le répertoire DLLs qui est dans le répertoire de Python.


C'est ce que j'avais pensé, vu qu'en plus dans ce répertoire se trouvent
déjà les dlls de tcl et tk, cependant ça ne fonctionne pas («Cette
application n'a pas pu démarrer car libglade-2.0.0.dll est introuvable.
La réinstallation de cette application peut corriger ce problème.»

Le seul truc que j'ai trouvé c'est de placer les dll dans le répertoire
de l'appli.

Il y a aussi la possibilité indiquée par Michel de placer les dll dans
system32 mais je trouve ça moyennement satisfaisant de mélanger les dll
du système et les dll que je rajoute pour faire tourner une appli, dans
la mesure où je n'ai pas de procédure d'installation / désinstallation
automatique.
--
Sébastien Kirche