无法在ubuntu 16.04上启动meld作为错误导入meld.conf

时间:2018-06-10 12:34:24

标签: ubuntu meld

我正在使用带有python版本3.5.2的Ubuntu 16.04。我遇到的问题是,我无法开始融合。每次我尝试打开它时都会收到错误消息:

Traceback (most recent call last):
File "/usr/bin/meld", line 73, in <module>
import meld.conf
ImportError: No module named 'meld'

任何人都可以帮忙吗

由于

希姆

2 个答案:

答案 0 :(得分:6)

我的猜测是您已经更改了系统的默认Python版本(Python3而不是Python2)。两种可能的解决方案:

  • 切换回Python2。您可能不想这样做,因为可能有理由切换到Python3。切换回去可能导致其他程序无法正常运行。 有关切换默认Python版本的信息,请参见命令update-alternatives。

  • 强制融合以使用Python2。为此,请在文本编辑器中以根权限打开/ usr / bin / meld,并从

    更改第一行
    #!/usr/bin/python

    #!/usr/bin/python2

注意:每当更新融合时,您都必须再次进行修改。

答案 1 :(得分:0)

在16.04中由apt软件包管理器处理的生成假定系统python是2.7。因此,所需的python库已安装到/usr/lib/python2.7/dist-packages/meld。如果您的系统是python,则为3.5,它将无法找到所需的软件包。

您的选择是:

  1. 在调用meld之前,将启动脚本放在一起将python设置为python2.7

  2. 从网站下载自包含包:

    import sqlite3 DATABASE = '../FlaskWebProject/database.db' with app.app_context(): username = request.form['username']; password = request.form['password']; query_db("insert into accounts (username, password) values (username, password)") def get_db(): db = getattr(g, '_database', None) if db is None: db = g._database = sqlite3.connect(DATABASE) return db def query_db(query, args=(), one=False): cur = get_db().execute(query, args) rv = cur.fetchall() cur.close() return (rv[0] if rv else None) if one else rv