Skip to content

chengjt23/auto_pip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

AutoPip 🚀

智能自动安装缺失 Python 依赖的 Bash 脚本工具

License: MIT Shell Script

✨ 特性

  • 🤖 智能检测:自动识别 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

📖 使用方法

基本用法

  1. 修改脚本中的命令:将 COMMAND 变量设置为你要运行的 Python 命令
COMMAND="python audio_editor_debug.py"
  1. 执行脚本
./auto_pip.bash
  1. 等待完成:脚本会自动检测并安装所有缺失的模块,直到命令成功执行

自定义配置

修改最大迭代次数

MAX_ITERATIONS=50  # 默认 50 次,可根据需要调整

更换 PyPI 镜像源

修改第 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

🔧 工作原理

  1. 执行命令:运行指定的 Python 命令并捕获输出
  2. 错误检测:检查输出中是否包含 ModuleNotFoundError
  3. 模块提取:使用正则表达式智能提取缺失的模块名称
  4. 自动安装:使用 pip 安装缺失的模块(使用清华镜像源)
  5. 循环重试:重新执行命令,直到成功或达到最大迭代次数

📝 示例输出

================================
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!
================================

⚙️ 高级用法

在 CI/CD 中使用

- name: Auto install dependencies
  run: |
    chmod +x auto_pip.bash
    ./auto_pip.bash

与其他工具集成

COMMAND="python -m pytest tests/"
./auto_pip.bash

🛠️ 故障排除

问题:模块安装失败

解决方案:检查网络连接和 pip 配置,或尝试更换镜像源

问题:达到最大迭代次数

解决方案:增加 MAX_ITERATIONS 的值,或手动检查是否有循环依赖问题

问题:无法提取模块名

解决方案:检查错误输出格式,可能需要调整正则表达式

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情

🤝 贡献

欢迎提交 Issue 和 Pull Request!

⭐ Star History

如果这个项目对你有帮助,请给一个 Star ⭐


Made with ❤️ for Python developers

About

🐍 一个自动化的 Python 依赖修复工具:通过循环运行脚本并解析错误日志,自动识别并安装缺失的库,直至程序正常运行。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages