微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将python ImportError捕获为Shell错误

我有一个以下脚本,用于检查是否已安装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的方式检查软件包的存在.您可以为此answerthis获取不同的解决方案,并替换导入的your_package;与其中之一.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐