我运行的是 Ubuntu Unity 22.04,并尝试从 .deb 文件安装 Crossover。它没有成功,但现在每当我尝试从终端安装某些东西时,它都会默认尝试安装 Crossover。
以下是发生的情况的屏幕截图:
以下是抄录:
Setting up crossover:i386 (19.0.0-1) ...
Traceback (most recent call last):
File "/opt/cxoffice/lib/python/cxconfig.py", line 12, in <module>
from collections import MutableMapping
ImportError: cannot import name 'MutableMapping' from 'collections' (/usr/lib/python3.10/collections/__init__.py)
在处理上述异常的过程中,又发生了另一个异常:
Traceback (most recent call last):
File "/opt/cxoffice/bin/cxtie", line 135, in <module>
import cxtiemain
File "/opt/cxoffice/lib/python/cxtiemain.py", line 6, in <module>
import c4parser
File "/opt/cxoffice/lib/python/c4parser.py", line 10, in <module>
import cxproduct
File "/opt/cxoffice/lib/python/cxproduct.py", line 7, in <module>
import cxconfig
File "/opt/cxoffice/lib/python/cxconfig.py", line 15, in <module>
from UserDict import DictMixin as MutableMapping
ModuleNotFoundError: No module named 'UserDict'
dpkg: error processing package crossover:i386 (--configure):
installed crossover:i386 package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
crossover:i386
E: Sub-process /usr/bin/dpkg returned an error code (1)
我如何解决它?
答案1
这是因为 CrossOver 包尝试执行一些在 Python 3.3 中已弃用的 Python 代码函数,因此已在系统上安装的 3.10 中删除(/usr/lib/python3.10/...
)。
当然,您肯定需要联系 CodeWeavers 以获取软件包的更新版本。将 Python 降级到 3.9 可能仍然是另一种选择。但请注意将来可能发生的依赖性问题。
来源:
答案2
rm -rd -f /opt/cxoffice
rm -f /var/lib/dpkg/info/crossover.postinst
apt update
然后删除二进制文件。