Ubuntu 20 LTS下Speech Dispatcher Python绑定导入失败求助
解决Ubuntu 20 LTS中Python无法导入speechd模块的问题
先确认
python3-speechd包的安装路径,执行以下命令查看文件分布:dpkg -L python3-speechd正常情况下,该包的模块文件会放在
/usr/lib/python3/dist-packages/speechd/目录下。检查Python的模块搜索路径,在Python交互环境中执行:
import sys print(sys.path)查看输出里是否包含
/usr/lib/python3/dist-packages/——Ubuntu的deb包通常会把系统级Python模块安装在这里。如果上述路径不在
sys.path中:- 临时解决:在导入speechd前手动添加路径:
import sys sys.path.append('/usr/lib/python3/dist-packages/') import speechd - 永久解决:在用户Python的site-packages目录下创建
.pth文件。Ubuntu 20 LTS默认Python版本为3.8,执行以下命令:echo "/usr/lib/python3/dist-packages/" > ~/.local/lib/python3.8/site-packages/speechd.pth
- 临时解决:在导入speechd前手动添加路径:
若使用了虚拟环境,虚拟环境默认不会加载系统级site-packages,可通过两种方式解决:
- 创建虚拟环境时加上
--system-site-packages参数,让虚拟环境继承系统模块:python3 -m venv --system-site-packages myenv - 激活虚拟环境后,手动将系统模块路径添加到虚拟环境的
sys.path中,或在虚拟环境的site-packages目录下创建上述.pth文件。
- 创建虚拟环境时加上
若以上方法无效,尝试重新安装包以修复可能的损坏:
sudo apt purge python3-speechd sudo apt autoremove sudo apt install python3-speechd
内容的提问来源于stack exchange,提问作者T. Arboreus
相关产品推荐
相关产品推荐

