我使用 dh-virtualenv 构建了我的 Python 3 应用程序的 debian 包。在 Raspbian Buster 上一切正常,但最近发布的 Bullseye 我希望该软件包兼容。
可悲的是,当我在 Bullseye 下安装 .deb 时,我所有的自定义 Python 包都丢失了。运行应用程序会引发 ModuleNotFoundError。我意识到 sys.path 列表不包含 virtualenv 的站点包的路径(它在 Buster 下),所以我手动添加了它。这修复了大多数 Python 包的 ModuleNotFoundError。然而,我的应用程序也依赖于一些 CPython 包,而所有这些包仍然缺失。
运行path/to/virtualenv/bin/pip3 list
显示它们没有安装,尽管我在站点包下找到了所有正确的 .so 和 .dist-info 文件。在 Buster 下,相同的命令按预期列出了所有扩展。
我的猜测是这个问题是由使用不同的 Python 版本引起的。Buster 使用 3.7,Bullseye 使用 3.9。你有什么想法可能导致这个问题以及我该如何解决它?
非常感谢内森