智能自动安装缺失 Python 依赖的 Bash 脚本工具
- 🤖 智能检测:自动识别 Python 脚本运行时的缺失模块
- 🔄 自动安装:无需手动干预,自动安装所有缺失的依赖包
- 🎯 精准解析:智能提取模块名称,支持多种错误格式
- ⚡ 快速安装:使用清华大学 PyPI 镜像源,国内用户友好
- 🛡️ 安全限制:最大迭代次数保护,防止无限循环
- 📊 详细日志:清晰的执行过程输出,便于调试和追踪
- 运行 Python 脚本时频繁遇到
ModuleNotFoundError - 需要快速搭建开发环境,但不确定需要哪些依赖
- 希望自动化处理依赖安装流程
- 团队协作时统一依赖管理
- Bash 环境(Linux、macOS 或 Windows WSL/Git Bash)
- Python 环境
- pip 包管理器
git clone https://github.com/yourusername/autopip.git
cd autopip
chmod +x auto_pip.bash编辑 auto_pip.bash 文件,修改第 3 行的命令:
COMMAND="python your_script.py"./auto_pip.bash- 修改脚本中的命令:将
COMMAND变量设置为你要运行的 Python 命令
COMMAND="python audio_editor_debug.py"- 执行脚本:
./auto_pip.bash- 等待完成:脚本会自动检测并安装所有缺失的模块,直到命令成功执行
MAX_ITERATIONS=50 # 默认 50 次,可根据需要调整修改第 32 行的 pip 安装命令:
pip install "$module_name" -i https://pypi.tuna.tsinghua.edu.cn/simple常用镜像源:
- 清华大学:
https://pypi.tuna.tsinghua.edu.cn/simple - 阿里云:
https://mirrors.aliyun.com/pypi/simple/ - 官方源:
https://pypi.org/simple
- 执行命令:运行指定的 Python 命令并捕获输出
- 错误检测:检查输出中是否包含
ModuleNotFoundError - 模块提取:使用正则表达式智能提取缺失的模块名称
- 自动安装:使用 pip 安装缺失的模块(使用清华镜像源)
- 循环重试:重新执行命令,直到成功或达到最大迭代次数
================================
Iteration: 1
Running command: python audio_editor_debug.py
================================
Traceback (most recent call last):
File "audio_editor_debug.py", line 1, in <module>
import numpy
ModuleNotFoundError: No module named 'numpy'
================================
Detected missing module: numpy
Installing with pip...
================================
Successfully installed numpy
================================
Iteration: 2
Running command: python audio_editor_debug.py
================================
Command executed successfully!
================================
- name: Auto install dependencies
run: |
chmod +x auto_pip.bash
./auto_pip.bashCOMMAND="python -m pytest tests/"
./auto_pip.bash解决方案:检查网络连接和 pip 配置,或尝试更换镜像源
解决方案:增加 MAX_ITERATIONS 的值,或手动检查是否有循环依赖问题
解决方案:检查错误输出格式,可能需要调整正则表达式
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
欢迎提交 Issue 和 Pull Request!
如果这个项目对你有帮助,请给一个 Star ⭐
Made with ❤️ for Python developers