Je viens d'installer le plug-in de prévisualisation de markdown pour gedit et le message d'erreur suivant s'affiche sur la console lorsque je tente de l'activer dans l'onglet plugins:
Traceback (appel le plus récent en dernier): Fichier "/home/aarold/.local/share/gedit/plugins/markdown-preview/init.py", ligne 25, importation ImportError: pas de module nommé 'markdown'
(gedit: 20735): libpeas-WARNING **: Erreur lors du chargement du plugin 'markdown-preview
J'ai essayé de définir le paramètre Loader dans mon fichier /home/aarold/.local/share/gedit/plugins/markdown-preview.plugin
sur python
et python3
, mais aucun d'entre eux travaillent. J'ai essayé de réinstaller le plug-in avec toutes les permutations possibles d'options et bien qu'il soit écrit que l'installation a été une réussite, j'obtiens toujours cette erreur. Quel pourrait être le problème?
J'ai vérifié le fichier .py
et il semble qu'il ne puisse pas
import markdown
.
Dois-je installer certains modules python supplémentaires?
J'ai essayé
pip install markdown
mais bien ça
Markdown installé avec succès
Je reçois toujours la même erreur.
Ce plugin est écrit pour Python 2, mais depuis gedit 3.8, seuls les plugins Python 3 sont supportés. Donc, de petits changements sont nécessaires.
Modifiez le programme d'installation (gedit-markdown.sh
) pour installer le module de balisage python3:
Ceci est un patch que vous pouvez appliquer sur le fichier existant (ou vous pouvez simplement copier la version modifiée complète disponible ici ):
--- gedit-markdown_ori.sh 2014-05-14 16:14:58.386700310 +0200
+++ gedit-markdown.sh 2014-05-14 15:42:21.038783248 +0200
@@ -263,7 +263,9 @@
# Note: sous Archlinux, «/usr/bin/python» correspond à Python 3. On teste donc les
# chemins pour Python 2 en premier.
-if type -p python2.7 > /dev/null; then
+if type -p python3 > /dev/null; then
+ binPython=$(type -p python3)
+Elif type -p python2.7 > /dev/null; then
binPython=$(type -p python2.7)
Elif type -p python2.6 > /dev/null; then
binPython=$(type -p python2.6)
@@ -287,15 +289,15 @@
cheminPythonMarkdown=python-markdown/python2
cheminPythonSitePackages=$("$binPython" -m site --user-site)
fi
-# Elif [[ ${versionPython:0:1} == 3 ]]; then
-# compareVersions "$versionPython" "3.1"
-#
-# if [[ $? == 2 ]]; then
-# bonneVersionPython=false
-# else
-# cheminPythonMarkdown=python-markdown/python3
-# cheminPythonSitePackages=$("$binPython" -m site --user-site)
-# fi
+ Elif [[ ${versionPython:0:1} == 3 ]]; then
+ compareVersions "$versionPython" "3.1"
+
+ if [[ $? == 2 ]]; then
+ bonneVersionPython=false
+ else
+ cheminPythonMarkdown=python-markdown/python3
+ cheminPythonSitePackages=$("$binPython" -m site --user-site)
+ fi
else
bonneVersionPython=false
fi
Exécuter ./gedit-markdown.sh install
Vous devriez voir python 3.4 au lieu de 2.7:
############################################################
##
## Installation of gedit-markdown
##
############################################################
## First step: check dependencies
- gedit: 3.10.4
- Python: 3.4
[...]
Changer le chargeur de plugins en python3
Remplacez /home/aarold/.local/share/gedit/plugins/markdown-preview.plugin
par:
[Plugin]
Loader=python3
Module=markdown-preview
IAge=3
Name=Markdown Preview
Name[fr]=Aperçu Markdown
Description=Show the HTML version of the Markdown text you're editing
Description[fr]=Affiche l'aperçu en HTML du document Markdown en cours d'édition
Authors=Michele Campeotto <[email protected]>\nJean-Philippe Fleury <[email protected]>
Copyright=Copyright © 2005, 2006 Michele Campeotto\nCopyright © 2009, 2011-2012 Jean-Philippe Fleury
Website=http://www.jpfleury.net/logiciels/gedit-markdown.php
Convertissez /home/aarold/.local/share/gedit/plugins/markdown-preview/__init__.py
en python3:
Courir:
2to3 -w /home/aarold/.local/share/gedit/plugins/markdown-preview/__init__.py
Enfin ouvrez ce fichier et éditez la ligne 86 (supprimez le mode binaire, "wb"
-> "w"
):
with open(confFile, "w") as confFile:
Activez le plugin dans Gedit comme vous l'avez fait.