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

源码安装Ampy后出现ModuleNotFoundError: No module named 'progress_bar'求助

解决Ampy源码安装后ModuleNotFoundError: No module named 'progress_bar'问题

问题背景

在Ubuntu 23.04 + Python 3.11.2环境下,从源码执行sudo python3 setup.py install安装Ampy后,运行ampy命令出现以下错误:

ampy
Traceback (most recent call last):
File "/usr/local/bin/ampy", line 33, in <module>
sys.exit(load_entry_point('adafruit-ampy==1.1.0', 'console_scripts', 'ampy')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/bin/ampy", line 25, in importlib_load_entry_point
return next(matches).load()
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/metadata/__init__.py", line 202, in load
module = import_module(match.group('module'))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/usr/local/lib/python3.11/dist-packages/adafruit_ampy-1.1.0-py3.11.egg/ampy/cli.py", line 31, in <module>
ModuleNotFoundError: No module named 'progress_bar'

尝试解压egg归档、安装python3-progressbar/python3-progressbar2包均未解决问题。

解决方案

方案1:用pip安装最新版Ampy(推荐)

旧版本Ampy的setup.py安装方式在Python 3.11下存在包结构兼容问题,直接用pip安装官方维护的最新版本即可解决:

  1. 卸载已安装的旧版本:
    sudo pip uninstall adafruit-ampy
    
  2. 安装最新版:
    pip install adafruit-ampy --user
    
    若需全局安装,添加sudo:
    sudo pip install adafruit-ampy
    

方案2:修改源码导入语句(适合坚持用源码的场景)

如果一定要使用当前源码版本,修改ampy/cli.py中的导入逻辑:

  1. 打开源码目录下的ampy/cli.py文件
  2. 将第31行的import progress_bar修改为相对导入:
    from . import progress_bar
    
  3. 重新执行安装:
    sudo python3 setup.py install
    

方案3:用pip从源码安装

避免直接使用setup.py install,改用pip处理源码安装,它会自动处理包结构和依赖:

  1. 进入Ampy源码目录
  2. 执行安装:
    pip install . --user
    
    全局安装则执行:
    sudo pip install .
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 08:50:05