【问题标题】:Check if package is installed using pipenv检查是否使用 pipenv 安装了软件包
【发布时间】:2018-01-17 17:42:34
【问题描述】:

有没有办法检查是否使用 pipenv 安装了特定的包? 我有一个Makefile,它运行pipenv run <command>,但如果未安装软件包,我想显示一条友好的消息,并要求用户运行pipenv install

目前,运行命令只是创建新的vitrualenv,只是因为找不到命令而失败。

【问题讨论】:

    标签: python python-3.x python-2.7 pipenv


    【解决方案1】:

    可以看到two ways:pipenv run pip freezepipenv graph中安装了哪些依赖项。

    然后您可以在此输出上使用grepgrep 如果匹配,则返回 0,否则返回非零,您可以通过检查 $? 来查看 check the return value

    把它们放在一起,你可以做这样的事情:

    pipenv run pip freeze | grep mypackage
    if [ $? -ne 0 ]; then
        echo "mypackage isn't installed; run pipenv install mypackage"
    fi
    

    【讨论】:

      【解决方案2】:

      一种解决方案是使用最少的代码调用解释器,然后检查返回代码并根据代码显示您想要的消息。

      类似这样的:

      all:
          @python -c "import mypackage" 2>/dev/null|| (echo "";echo "error message";echo ""; exit 1)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-15
        • 2020-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多