You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 23.04执行install.bash脚本遇模块缺失错误求助

解决Ubuntu 23.04中thal-labelprinting安装的ModuleNotFoundError问题

问题根源分析

从错误日志和install.bash脚本可定位两个核心问题:

  1. 虚拟环境路径不一致:脚本创建的虚拟环境是/opt/usr/virtualenv/labelprinting,但后续安装Python依赖时误用了/opt/usr/virtualenv/lion路径,导致依赖包安装到错误环境,运行时无法找到对应模块。
  2. post-install脚本未激活虚拟环境:系统配置thal-labelprinting包时,直接用系统Python执行/opt/usr/thal_labelprinting/bin/update.py,未激活项目虚拟环境,同时Config模块未被添加到Python可识别路径中。

分步解决方案

1. 修复dpkg错误状态

先处理未配置完成的包:

sudo dpkg --configure -a

若仍报错,强制移除待修复包:

sudo dpkg --remove --force-remove-reinstreq thal-labelprinting

2. 修正install.bash的路径错误

打开install.bash脚本,将所有/opt/usr/virtualenv/lion路径替换为/opt/usr/virtualenv/labelprinting,修正后的依赖安装片段如下:

echo ""
echo "Installing python packages"
run "/opt/usr/virtualenv/labelprinting/bin/pip install wxPython==4.0.6"
run "/opt/usr/virtualenv/labelprinting/bin/pip install elaphe3==0.2.0"
run "/opt/usr/virtualenv/labelprinting/bin/pip install reportlab==3.5.23"

3. 让Python能找到Config模块

  • 检查/opt/usr/thal_labelprinting/bin/目录下是否存在Config.py,若缺失需补全该文件;
  • 若文件存在但仍报错,在update.py开头添加路径配置:
import sys
sys.path.append('/opt/usr/thal_labelprinting')

4. 让post-install脚本使用虚拟环境Python

修改包的post-install脚本(路径通常为/var/lib/dpkg/info/thal-labelprinting.postinst),指定用虚拟环境的Python执行脚本:

#!/bin/bash
/opt/usr/virtualenv/labelprinting/bin/python /opt/usr/thal_labelprinting/bin/update.py

5. 重新执行安装

完成以上修改后,重新运行安装脚本:

sudo ./install.bash install

内容的提问来源于stack exchange,提问作者Sayyam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 23:51:16