我在Windows 10上使用Cygwin 64;刚刚更新。一些相关的包版本:
我还在使用MobaXTerm的X服务器(而且它可以工作-例如,我可以运行xclock )。
当我在Cygwin bash会话中运行meld (在mintty中)时,我得到:
Traceback (most recent call last):
File "/usr/bin/meld", line 71, in <module>
import meld.conf
ModuleNotFoundError: No module named 'meld'为什么会发生这种情况,我如何才能使meld正常运行?
备注:
发布于 2021-09-21 17:43:01
正如@matzeri所指出的,meld似乎是硬编码的python3.6,而Cygwin64在2021年9月将Python3.8作为python3的默认替代方案。
现在,我不想更改所有应用程序的默认设置,但是-我们仍然可以手动修改meld本身:
/usr/bin/meld复制到/usr/local/bin/meld/usr/local/bin/meld中,替换:#!/usr/bin/python3通过以下方式:
#!/usr/bin/python3.6这至少可以解决缺少的模块问题--尽管您可能会遇到其他问题。
记住,下一次更新meld本身时,您有一个本地版本要删除/更新!
编辑:如果您在另一个Linux发行版上遇到这个问题,直接的问题是在python的包搜索路径中找不到meld子目录。所以,假设meld是由python版本N.M运行的,您可能会丢失
/usr/lib/pythonN.M/site-packages/meld/或者是python存储其“站点包”的地方的meld子目录。有时可以通过硬编码meld来使用另一个python版本来解决这个问题,但只有当该版本有一个适当的meld站点-packages文件夹时才能解决。否则,您将需要重新安装或手动安装meld,确保子目录已就位。
发布于 2022-11-19 14:28:27
我最近更新了我的Cygwin包,导致了"ModuleNotFoundError: No模块名为'meld'“的失败。在我的例子中,它有助于将meld降级到3.16.4版。
https://unix.stackexchange.com/questions/669847
复制相似问题