我最近从 Bullseye 升级到 Debian Bookworm。
我知道与pip install <package>
.因此,我安装了新的 python 包,pipx
它运行良好。
问题:已经安装的软件包pip
不能像以前那样工作。例如,在升级到 Bookworm 之前,我已经安装pdfCropMargins
并pip
广泛使用了它。
升级后,我收到以下错误:
pdf-crop-margins -a 5 pgfmanual.pdf
Traceback (most recent call last):
File "/home/vrgovinda/.local/bin/pdf-crop-margins", line 5, in <module>
from pdfCropMargins.pdfCropMargins import main
ModuleNotFoundError: No module named 'pdfCropMargins'
根据我的理解,我猜pipx
现在正在管理 python 包,并且期望模块位于其他位置。
我对吗?如果是,如何解决这个问题?
如果否,此错误的原因是什么以及如何解决此问题?
提前致谢。
答案1
Python 的版本兼容性很差,即使在该语言的次要更新版本之间也是如此 - 例如,如果您在运行 python 3.10 时使用 pip 安装库模块,那么当您升级到 python 3.11 时它将不可用。你需要再次安装新版本的python。
为了使版本兼容性问题变得更糟,Python 开发人员和社区迷恋这是一个“功能”而不是一个错误,并开发了一个极其复杂的虚拟环境范例来解决它 - 但这并不奇怪,因为 Python 开发人员和用户倾向于将他们的程序运行的操作系统视为需要避免/解决的问题,而不是他们可以从中受益的有用的东西。