我正在尝试找到一种方法来识别缺少的库/库,同时导入python尚未安装的库。
我正在创建一个应用程序,它使用一些用户需要自己或其他应用程序安装的库。例如python-requests库。我不希望我的应用程序安装缺少的依赖项,我没有任何安装脚本来安装它们。我只想要一种方法将缺少的库/库打印给用户。有没有办法这样做?如果您打印异常,它会显示“没有名为 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()
答案 0 :(得分:1)
将Exception数据复制到变量中,并检查它返回的字符串:
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
的详细说明,请参阅8.3. Handling Exceptions。
答案 1 :(得分:0)
使用try-except块捕获错误并使用raise语句说出您选择的错误消息:
try:
a = int(input())
except:
raise Exception('There has been an error in the system')