8

我尝试在 ubuntu 14.04LTS 上的 gedit 3.10.4 中添加一些插件,当我尝试在 gedit 中激活这些插件时发生了一些错误:

(gedit:20686): libpeas-WARNING **: 初始化 Python 插件加载器时出错:PyGObject 初始化失败 ImportError: 无法导入 gobject (错误是: ImportError("No module named 'gi'",))

(gedit:20686): libpeas-WARNING **: 请检查 libpeas 所需的所有 Python 相关包的安装并重试

(gedit:20686): libpeas-WARNING **: Loader 'python3' 不是有效的 PeasPluginLoader 实例

(gedit:20686):libpeas-WARNING **:找不到插件'bracketcompletion'的加载器'python3'

我看到了,在 ged

未找到插件加载程序“python3”

有谁知道问题可能来自哪里?

4

4 回答 4

3

我在使用不同的插件( reST )时遇到了同样的错误。导致错误的问题是我在虚拟环境处于活动状态 从命令行运行它。出于这个原因,Python3 没有使用(并找到)系统库。

解决方案:我只是从 GUI 正常运行 gedit(或在终端中停用 virtualenv 后),编辑器和插件加载正常。仔细检查您是否有类似的原因。

否则,您可能真的需要检查错误消息的内容:是否安装了所有“ libpeas 所需的相关软件包”。请参阅Trusty软件包libpeas-1.0-0的详细信息。

于 2016-06-06T09:24:25.593 回答
3

要添加到@Railslide 的答案:

  1. 在您/usr/lib/gedit/plugin搜索插件文件(例如bracketcompletion.plugin)并更改Loader=python3Loader=python

  2. python3如果这仍然返回错误 - 可能是因为它与语法不匹配:使用2to3如下命令:

    cd python_directory/
    sudo 2to3 -f all -w *
    

例如对于gedit-latex-plugin...

cd /usr/lib/gedit/plugins/
sudo sed -i 's/python/python3/g' latex.plugin # only if you haven't already replaced python->python3
cd latex/
sudo 2to3 -f all -w *

然后通过用代码替换python2.x代码来修复插件python3

有关的

于 2016-07-06T23:19:58.177 回答
0

这是一个 gedit 错误,请参阅https://bugs.launchpad.net/ubuntu/+source/gedit/+bug/859089

作为一种解决方法,在您/usr/lib/gedit/plugin搜索插件文件(例如bracketcompletion.plugin)并更改Loader=python3Loader=python

不幸的是,这种解决方法不适用于所有插件

于 2015-03-10T13:19:29.720 回答
0

今天遇到了基本相同的问题,尽管使用代码注释插件。就我而言,问题仅在从命令行执行 gedit 时出现,类似于@Peterino(尽管实际上没有明确设置虚拟环境)。否则一切都很好。

发生这种情况的原因似乎与我以与本地anaconda / miniconda安装相对应的方式设置我的事实有关$PATH。一个不需要的副作用是,当从终端启动时,实际上选择本地 miniconda 安装而不是. (通过暂时将 miniconda 文件夹移动到别处或以其他用户身份登录来检查)。.bashrcpython3gedit/usr/bin/python3.X

可能的修复

(尽管我仍然对其中任何一个都不完全满意)。

把它放在 .bashrc 中是可行的:

export CONDAPATH=$HOME/miniconda3/bin
export PATH="$CONDAPATH:$PATH"
# ^ put these two lines instead of the original miniconda export.

# __ : naming convention for private functions
__geditfix() {
    export PATH=$(echo $PATH | sed -E "s|:$CONDAPATH\|$CONDAPATH:||g"); # remove conda from the PATH environment variable, using RegEx
    gedit "$@"; # call gedit, giving it all arguments
    export PATH="$CONDAPATH:$PATH"; # add conda to the PATH environment variable
} # Using a function rather than an alias, so that the filename is given to gedit, as it should and not to setconda().

alias gedit='__geditfix' # So that we can run our fix simply via: gedit <arguments>.

这个 ^ 所做的是为 gedit 创建一个别名,使用一个实际上

  • ~/miniconda3/bin1)从中删除$PATH
  • 2) 运行 gedit ( /usr/bin/gedit),给它所有参数,
  • 3) 放回~/miniconda3/bin我们的$PATH.

有了这几行.bashrc,就可以简单地调用gedit <arguments>

  • 插件工作,因为 gedit 将从中python选择/usr/bin/
  • python, jupyter-notebook, conda, 等来自 miniconda 的东西仍然可以直接访问没有问题

顺便说一句,这有帮助:https ://stackoverflow.com/a/23134318/452522 (sed 中的环境变量替换)

替代解决方案:安装此 v:

conda install -c conda-forge pygobject

从终端输出中可以猜到它在使用 miniconda python3 安装时丢失了。

于 2018-12-04T18:02:01.583 回答