首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >meld不会在Cygwin上启动:没有名为meld的模块

meld不会在Cygwin上启动:没有名为meld的模块
EN

Unix & Linux用户
提问于 2021-09-20 15:39:45
回答 2查看 932关注 0票数 1

我在Windows 10上使用Cygwin 64;刚刚更新。一些相关的包版本:

  • meld: 3.18.0-1
  • python3: 3.8.6-1
  • python2: 2.7.18-4

我还在使用MobaXTerm的X服务器(而且它可以工作-例如,我可以运行xclock )。

当我在Cygwin bash会话中运行meld (在mintty中)时,我得到:

代码语言:javascript
复制
Traceback (most recent call last):
  File "/usr/bin/meld", line 71, in <module>
    import meld.conf
ModuleNotFoundError: No module named 'meld'

为什么会发生这种情况,我如何才能使meld正常运行?

备注:

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2021-09-21 17:43:01

正如@matzeri所指出的,meld似乎是硬编码的python3.6,而Cygwin64在2021年9月将Python3.8作为python3的默认替代方案。

现在,我不想更改所有应用程序的默认设置,但是-我们仍然可以手动修改meld本身:

  1. /usr/bin/meld复制到/usr/local/bin/meld
  2. /usr/local/bin/meld中,替换:
代码语言:javascript
复制
#!/usr/bin/python3

通过以下方式:

代码语言:javascript
复制
#!/usr/bin/python3.6

这至少可以解决缺少的模块问题--尽管您可能会遇到其他问题

记住,下一次更新meld本身时,您有一个本地版本要删除/更新!

编辑:如果您在另一个Linux发行版上遇到这个问题,直接的问题是在python的包搜索路径中找不到meld子目录。所以,假设meld是由python版本N.M运行的,您可能会丢失

代码语言:javascript
复制
/usr/lib/pythonN.M/site-packages/meld/

或者是python存储其“站点包”的地方的meld子目录。有时可以通过硬编码meld来使用另一个python版本来解决这个问题,但只有当该版本有一个适当的meld站点-packages文件夹时才能解决。否则,您将需要重新安装或手动安装meld,确保子目录已就位。

票数 2
EN

Unix & Linux用户

发布于 2022-11-19 14:28:27

我最近更新了我的Cygwin包,导致了"ModuleNotFoundError: No模块名为'meld'“的失败。在我的例子中,它有助于将meld降级到3.16.4版。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/669847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档