PythonPython

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

2018-06-27  本文已影响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

打完收工!!!

上一篇 下一篇

猜你喜欢

热点阅读