1 votes

Impossible de lancer FSLint

J'utilise Ubuntu 18.04 et je veux essayer d'exécuter FSLint pour libérer de l'espace, et je rencontre des problèmes...

$ fslint-gui 
Traceback (most recent call last):
  File "/usr/bin/fslint-gui", line 27, in <module>
    import gtk
ImportError: No module named gtk

J'ai fait des recherches à ce sujet et l'une des suggestions est la suivante

$ pip install pygtk
Collecting pygtk
  Using cached https://files.pythonhosted.org/packages/7c/18/fa4f2de77500dd62a314fd845ff6e903ac2ce551164cb421c5750969f799/pygtk-2.24.0.tar.bz2
    Complete output from command python setup.py egg_info:
    ********************************************************************
    * Building PyGTK using distutils is only supported on windows. *
    * To build PyGTK in a supported way, read the INSTALL file.    *
    ********************************************************************

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-zgzLmi/pygtk/

En cas d'échec, j'ai essayé apt .

$ sudo apt install --install-recommends python-gtk2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-gtk2 is already the newest version (2.24.0-5.1ubuntu2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Je me suis alors dit que le module était peut-être caché dans la rubrique dev .

$ sudo apt install --install-recommends python-gtk2-dev 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python-gtk2-dev : Depends: libgtk2.0-dev (>= 2.18.0) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

D'accord, je suis le sentier de la dépendance et j'arrive à un cul-de-sac.

$ sudo apt install python-gtk2-dev libgtk2.0-dev libpango1.0-dev libcairo2-dev libfontconfig1-dev libxft-dev libfontconfig1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libfontconfig1 is already the newest version (2.12.6-0ubuntu2.3).
libfontconfig1 set to manually installed.
Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created

ou a été déplacé hors de l'I Les informations suivantes peuvent aider à résoudre la situation :

The following packages have unmet dependencies:
 libfontconfig1-dev : Depends: libfontconfig1 (= 2.12.6-0ubuntu2) but 2.12.6-0ubuntu2.3 is to be installed
E: Unable to correct problems, you have held broken packages.

Des idées sur la manière de résoudre ce problème ?

Informations complémentaires

Je l'ai installé il n'y a pas très longtemps avec le simple sudo apt install fslint .

J'ai effectué les opérations suivantes en suivant les indications de N0rbert :

$ sudo apt-get install fslint libglade2-0 python-cairo python-glade2 python-gobject-2 python-gtk2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-cairo is already the newest version (1.16.2-1).
fslint is already the newest version (2.44-4ubuntu1).
libglade2-0 is already the newest version (1:2.6.4-2).
python-glade2 is already the newest version (2.24.0-5.1ubuntu2).
python-gobject-2 is already the newest version (2.28.6-12ubuntu3).
python-gtk2 is already the newest version (2.24.0-5.1ubuntu2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

which python m'a donné /usr/local/bin/python

Il suffit de taper python ouvert

Python 2.6.6 (r266:84292, Nov 20 2019, 15:47:02)
[GCC 7.4.0] on linux4

J'ai même essayé un purge y install de fslint et aucune des dépendances n'a été réinstallée. J'ai même sudo apt install -f sans succès.

Mises à jour supplémentaires pour darksky

Python 2.6.6 . C'est peut-être le problème que vous rencontrez. La version par défaut de Python 2 devrait être 2.7. Pouvez-vous essayer sudo apt install python2 Assurez-vous qu'il s'agit bien de la version 2.7 si vous exécutez la commande python2 puis exécutez fslint-gui encore ?

$ sudo apt install python2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package python2

$ sudo apt install python2[TAB]
python2.7            python2.7-doc        python2-pyro4
python2.7-dbg        python2.7-examples   python2-selectors34
python2.7-dev        python2.7-minimal    python2-serpent

$ sudo apt install python2.7
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python2.7 is already the newest version (2.7.15-4ubuntu4~18.04.2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

$ sudo apt install python2.7-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python2.7-dev is already the newest version (2.7.15-4ubuntu4~18.04.2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Le fait que votre Python soit assis dans /usr/local/bin y no /usr/bin m'indique que vous ou quelqu'un d'autre l'a installé manuellement, probablement à partir des sources.

Je ne pense pas avoir fait de compilation des sources. make se traduisent souvent par des dépendances manquantes. Python est-il préinstallé lors de la première installation d'un système ? Je devrais peut-être copier certains fichiers de mon installation de sauvegarde du système d'exploitation (16.04).

Assurez-vous également de faire pointer votre Python vers python2 en exécutant sudo update-alternatives --config Python et assurez-vous qu'il pointe vers python2 ou python2.7 et non vers 2.6.

$ sudo update-alternatives --config python
update-alternatives: error: no alternatives for python

1voto

Stevo19630 Points 1

La version par défaut de Python 2 de la distribution 18.04 a toujours été la 2.7. Si vous exécutez simplement sudo apt install python en 18.04, vous devriez vous retrouver avec un Python 2.7 dans votre fichier /usr/bin qui est un lien souple vers /usr/bin/python2.7 . Vous avez d'une manière ou d'une autre installé python2.6 dans votre /usr/local qui semble avoir pris le pas sur la 2.7. La première chose à faire est de s'assurer que la version 2.7 est à nouveau la version par défaut.

La solution la plus simple consiste à renommer votre fichier /usr/local/bin/python a /usr/local/bin/python2.6 . S'il existe un /usr/local/bin/python2 vous pourriez vouloir le supprimer également. En fin de compte, lorsque vous faites which python vous devriez voir /usr/bin/python . Et si vous exécutez ll /usr/bin/python vous devriez voir /usr/bin/python -> python2.7* . Vous pouvez également créer python2 por sudo ln -s /usr/bin/python2.7 /usr/bin/python2 pour une meilleure compatibilité avec les programmes qui requièrent des python2 de manière spécifique.

Python est un composant essentiel de votre système d'exploitation, et il y a beaucoup des paquets qui en dépendent, y compris le programme fslint . Pour cette raison, vous pouvez vous retrouver avec des problèmes de dépendances étranges si votre système Python n'est pas celui qui est normalement livré avec la version 18.04.

Enfin, vous n'avez pas besoin du -dev de Python puisque vous ne compilez rien qui dépende des en-têtes Python à partir des sources.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X