美文网首页PythonPython
Python 程序中 自动检测模块并安装

Python 程序中 自动检测模块并安装

作者: 酷酷的图图 | 来源:发表于2018-06-27 21:01 被阅读540次

    人生苦短 我用python

    开始愉快的享(代)受(码)时间:

    参考如下:

    • 针对问题:将自己的项目代码发送给别人运行时 报错 发现很多第三方相关包文件对方没有安装 那么为了避免此类问题 可以通过在自己代码中实现自动检测并安装相关包 从而避免对方的困扰
    • 解决代码如下: 这里针对fake-useragent 这个第三方包 做演示
    方式1:
    try:
        from fake_useragent import UserAgent
    except ModuleNotFoundError as e:
        print("要先安装包!!! pip install fake-useragent")
        import os
        p = os.popen("pip install fake-useragent")
        print(p.read())
        from fake_useragent import UserAgent
    finally:
        agent = UserAgent()
    
    
    方式2:
      def install_package(package_name):
            package_name = package_name.replace("_", "-")  # 下载pip fake_useragent 包时  包名是:fake-useragent
            p = os.popen("pip list --format=columns")  # 获取所有包名 直接用 pip list 也可获取
            pip_list = p.read()  # 读取所有内容
            print(pip_list)
            if package_name in pip_list:
                print("已经安装{}".format(package_name))
                return True
            else:
                print("没有安装{}!即将自动安装,请稍后".format(package_name))
                p = os.popen("pip install {}".format(package_name))
                if "Success" in p.read():
                    print("安装{}成功!".format(package_name))
                    return True if "Success" in p.read() else False
    
    
    # 调用执行检测 如果没安装 则自动安装
    install_package('fake_useragent')
    from fake_useragent import UserAgent
    
    

    打完收工!!!

    相关文章

      网友评论

        本文标题:Python 程序中 自动检测模块并安装

        本文链接:https://www.haomeiwen.com/subject/qxiiyftx.html