Python2导入|识别缺少的库

Python2导入|识别缺少的库,python,python-2.7,Python,Python 2.7,我试图找到一种方法,在导入python尚未安装的库时识别缺少的库 我正在制作一个应用程序,它使用一些用户需要自己或其他应用程序安装的库。例如,python请求库。我不希望我的应用程序安装缺少的依赖项,而且我没有任何安装脚本来安装它们。我只想找到一种方法将丢失的库打印给用户。有什么办法吗?如果打印异常,它会显示“没有名为modulename的模块”,我想为它生成一条自定义消息。例如“缺少库:modulename”。有什么办法吗 到目前为止,在我的代码中导入如下所示: import sys, os,

我试图找到一种方法,在导入python尚未安装的库时识别缺少的库

我正在制作一个应用程序,它使用一些用户需要自己或其他应用程序安装的库。例如,python请求库。我不希望我的应用程序安装缺少的依赖项,而且我没有任何安装脚本来安装它们。我只想找到一种方法将丢失的库打印给用户。有什么办法吗?如果打印异常,它会显示“没有名为modulename的模块”,我想为它生成一条自定义消息。例如“缺少库:modulename”。有什么办法吗

到目前为止,在我的代码中导入如下所示:

import sys, os, time, subprocess, pip
try:
    import requests
except ImportError:
    print "[!] It Seems Like You Are Missing Some Dependencies!"
    ind = str(raw_input("[*] Install Missing Dependencies? [Y/N]:"))
    ind = ind.upper()
    if 'Y' in ind:
        pip.main(['install', 'requests'])
    else:
        sys.exit()

使用try-except块捕获错误,并使用raisestatement说出您选择的错误消息:

try:
   a = int(input()) 
except:
   raise Exception('There has been            an error in the system')

将异常数据复制到变量中,并检查它返回的字符串:

import re  # for re.match
try:
  import requests
except ImportError as e:
  errorstring = e.args[0]
  print 'Missing library: "'+re.match(r"No module named (.+)", errorstring).group(1)+'"'
有关
args
的更详细说明,请参阅