Accéder au contenu.
Menu Sympa

linux-31 - Re: Faire tourner ce script Python

Objet : Discussions sur le logiciel libre

Archives de la liste

Re: Faire tourner ce script Python


Chronologique Discussions  
  • From: Albert ARIBAUD <albert AT aribaud.net>
  • To: linux-31 AT culte.org
  • Subject: Re: Faire tourner ce script Python
  • Date: Fri, 26 Aug 2022 06:29:41 +0200

Le vendredi 26 août 2022 à 01:19 +0200, peterpan31 a écrit :
> Bonjour le Monde,
>
> On me soumet un script .py qui refuse de s'exécuter sur aciah-linux
> (base Mint 20).
>
> J'ai une première erreur puis sortie :
> /*
> Traceback (most recent call last):
>    File "./copcoll.py", line 14, in <module>
>      import pygtk
> ImportError: No module named pygtk
> */
>
> En outre ligne 10 je vois"Dépendances : python-gtk2".
> La commande APT ne connaît pas ce paquet python-gtk2.
> Faut-il rétroporter ce paquet ?
>
> Pourriez-vous me dire si ce script se lancerait chez vous (c'est une
> interface gtk type agenda) ?
>
> Merci
> --
> pierre estrem

Bonjour,

Je viens d'essayer en créant un environnement virtuel :

$ mkdir copcoll
$ cd colcoll
(copier copcoll.py dans le dossier courant)
$ virtualenv -p python3 venv
$ source venv/bin/activate
$ python copcoll.py
Traceback (most recent call last):
File "[...]/copcoll/copcoll.py", line 13, in <module>
import pygtk
ModuleNotFoundError: No module named 'pygtk'

Donc j'ai tenté d'installer le module pygtk, non pas via APT (ça
changerait l'état du système) mais via pip (ça installe dans
l'environnement virtuel sans affecter le reste du système) :

> $ pip install pygtk
> ERROR: Command errored out with exit status 1:
> command: [...]/copcoll/venv/bin/python -c 'import sys,
> setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-
> 2pwq5k1w/pygtk_17821cf501b44dd2b7a6883a2ef30007/setup.py'"'"';
> __file__='"'"'/tmp/pip-install-
> 2pwq5k1w/pygtk_17821cf501b44dd2b7a6883a2ef30007/setup.py'"'"';f=getat
> tr(tokenize, '"'"'open'"'"',
> open)(__file__);code=f.read().replace('"'"'\r\n'"'"',
> '"'"'\n'"'"');f.close();exec(compile(code, __file__,
> '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-suemsdbd
> cwd: /tmp/pip-install-
> 2pwq5k1w/pygtk_17821cf501b44dd2b7a6883a2ef30007/
> Complete output (4 lines):
>
> ********************************************************************
> * Building PyGTK using distutils is only supported on windows. *
> * To build PyGTK in a supported way, read the INSTALL file. *
>
> ********************************************************************
> ----------------------------------------
> WARNING: Discarding
> https://files.pythonhosted.org/packages/7c/18/fa4f2de77500dd62a314fd845ff6e903ac2ce551164cb421c5750969f799/pygtk-2.24.0.tar.bz2#sha256=cd1c1ea265bd63ff669e92a2d3c2a88eb26bcd9e5363e0f82c896e649f206912
> (from https://pypi.org/simple/pygtk/). Command errored out with exit
> status 1: python setup.py egg_info Check the logs for full command
> output.
> ERROR: Could not find a version that satisfies the requirement pygtk
> ERROR: No matching distribution found for pygtk

Le message est clair : pygtk ne s'installe que sur du Windows (ce qui
explique que, vérifications faites, le paquet n'existe pas dans APT non
plus).

Aujourd'hui, pour faire du GTK avec Python, les dépendances nécessaires
sont différentes, par exemple :

> $ apt show python3-gtkspellcheck | grep Depends
> Depends: python3:any, python3-enchant, python3-gi, gir1.2-gtk-3.0

Il faut python3-gi (qui n'existe pas comme paquet pip donc doit
s'installer par APT) et gir1.2-gtk-3.0 (idem)

Une fois installés (et une fois l'environnement virtuel recréé avec --
system-site-packages pour qu'il bénéficie des paquets python du
système), le "import pygtk" doit être changé en "import gi", mais ça ne
suffira pas, parce qu'alors ConfigParser" n'existe pas ; probablement
un autre paquet à installer, de préférence dans un environnement
virtuel aussi.

Amicalement,
Albert.




Archives gérées par MHonArc 2.6.19+.

Haut de le page