如何将python ImportError捕获为Shell错误

我有一个以下脚本,用于检查是否已安装python模块.{ipython -c from package import module echo Successful import} || echo package not found!这是bash的典型try..catch语法.如果命令会起作用,它将在之...

我有一个以下脚本,用于检查是否已安装python模块.

{

ipython -c 'from package import module' && echo "Successful import"

} || echo "package not found!"

这是bash的典型try..catch语法.如果命令&&会起作用,它将在之后执行命令,否则在||之后执行命令.

但是在这种情况下,是否安装了软件包,或者我应该说命令是否

ipython -c 'from package import module'

返回None或ImportError,bash将其读取为成功执行并输出“成功导入”

如何使用bash检查是否成功导入python软件包?

编辑:并以退出状态1返回?

解决方法:

您至少有两种可能性:

>在shell脚本上使用“ pip”获取已安装软件包的列表,然后使用grep获取游览软件包:

点列表| grep yourpackage&&已安装回声||回声“未安装”
>使用Python-bash脚本,我不知道该如何调用它,但是我知道如何使用它:

就像是:

output=$(
python - <<EOF
try:
    import your_package;
    print "Package Installed"
except Exception:
    print "Package not installed"
EOF
)

echo $output

在这里,您有很多替代方法可以检查软件包/模块的存在,因此,在尝试导入软件包的过程中,您可以以pythonic的方式检查软件包的存在.您可以为此answer或this获取不同的解决方案,并替换导入的your_package;与其中之一.

本文标题为:如何将python ImportError捕获为Shell错误

基础教程推荐