我刚刚安装了 markdown 预览插件编辑当我尝试在插件选项卡中激活它时,控制台上出现以下错误:
回溯(最近一次调用最后一次):文件“/home/aarold/.local/share/gedit/plugins/markdown-preview/在里面.py”,第 25 行,在 import markdown 中 ImportError: 没有名为“markdown”的模块
(gedit:20735): libpeas-警告**: 加载插件“markdown-preview”时出错
请注意,这与有关 gedit 的另一个问题不同,因为它的解决方案对我来说不起作用。
我尝试设置装载机/home/aarold/.local/share/gedit/plugins/markdown-preview.plugin
在我的文件中python
也添加了参数python3
,但它们都不起作用。我尝试使用所有可能的选项排列重新安装插件,虽然它说安装成功,但我总是收到此错误。可能是什么问题?
我检查了.py
文件,似乎不能
import markdown
。
我需要安装一些额外的 Python 模块吗?
我试过了
pip install markdown
但尽管如此
成功安装 markdown
我仍然遇到相同的错误。
答案1
此插件是为 Python 2 编写的,但从 gedit 3.8 开始,仅支持 Python 3 插件。因此需要进行一些小改动。
修改安装程序(
gedit-markdown.sh
)以安装python3 markdown模块:这是一个补丁,您可以将其应用于现有文件(或者您可以直接复制完整的修改版本这里):
--- 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
跑步
./gedit-markdown.sh install
您应该看到 Python 3.4 而不是 2.7:
############################################################ ## ## Installation of gedit-markdown ## ############################################################ ## First step: check dependencies - gedit: 3.10.4 - Python: 3.4 [...]
将插件加载器更改为 python3
用。。。来代替
/home/aarold/.local/share/gedit/plugins/markdown-preview.plugin
:[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
转换
/home/aarold/.local/share/gedit/plugins/markdown-preview/__init__.py
为python3:跑步:
2to3 -w /home/aarold/.local/share/gedit/plugins/markdown-preview/__init__.py
最后打开此文件并编辑第 86 行(删除二进制模式,
"wb"
->"w"
):with open(confFile, "w") as confFile:
按照您所做的方式在 Gedit 中激活插件。