Raspbian开机启动Python脚本时opentype导入失败求助
解决Raspbian开机启动Python脚本时的
opentype导入错误 看起来你遇到的是Python包环境差异导致的导入问题——手动运行/etc/rc.local时用的是你的pi用户环境,但开机时rc.local是以root身份执行的,两个环境的Python包依赖可能不一致。
从错误栈来看,问题出在pyasn1模块的opentype导入失败,这通常是因为该模块版本过旧或者全局安装不完整。你可以通过以下步骤解决:
全局升级相关依赖包:
直接用root权限升级pyasn1和pyasn1-modules(因为opentype属于pyasn1的核心模块,pyasn1-modules依赖它):sudo pip install --upgrade pyasn1 pyasn1-modules如果你用的是Python3,把命令里的
pip换成pip3即可。验证修复效果:
升级完成后,先在root环境下测试导入是否正常:sudo python -c "from pyasn1.type import opentype"如果没有报错,说明依赖问题已经解决,重启Raspbian再验证开机启动是否正常。
额外建议:
确保rc.local里调用的Python路径和你手动运行时一致——比如如果你手动用的是python3,就把/usr/bin/python改成/usr/bin/python3,避免因为Python版本差异导致的包路径问题。
这个方法和你之前用sudo pip全局安装解决类似问题的思路一致,核心就是让root环境下的Python依赖和用户环境保持一致,解决开机启动时的包缺失/版本不兼容问题。
内容的提问来源于stack exchange,提问作者user2128702
相关产品推荐
相关产品推荐

