【问题标题】:Executing pipfile scripts执行 pipfile 脚本
【发布时间】:2018-09-06 05:39:29
【问题描述】:

如何执行 Pipfile 中定义的脚本?

按照 here 找到的语法,我在我的 pipfile 中定义了脚本部分,如下所示:

[scripts]
tests = "bash ./run-tests.sh"

运行$ pipenv install后,如何调用tests脚本?

我尝试了以下方法但没有成功:

$ tests

$ pipenv tests

$ pipenv run tests

$ pipenv shell (virtual env) $ tests

【问题讨论】:

    标签: pipenv pipfile


    【解决方案1】:

    我遇到了同样的问题,感谢this issue 的讨论,我碰巧解决了。

    长话短说,我只在开始我的项目之前全局更新了 pipenv,而不是本地。所以我还是用旧版本。

    正确更新您正在使用的pipenv 的版本,您还必须为您用于项目的用户升级pipenv。 因此:

    $ sudo pip install pipenv --upgrade --user
    

    解决了我的问题。

    愿这个愚蠢的错误成为我的第一个 SO 贡献,以及我永远的耻辱。

    编辑

    正如Coleman Stoltze所指出的,调用脚本的正确方法是:

    $ pipenv run tests
    

    【讨论】:

    • 澄清:调用脚本的正确方法是$ pipenv run tests。无需运行$ pipenv shell
    【解决方案2】:

    试试这个:

    $ pipenv shell 
    
    $ pipenv run tests
    

    【讨论】:

      【解决方案3】:

      了解您在每次尝试帮助解决可能出现的问题时正在得到什么会很有帮助。

      https://pipenv.kennethreitz.org/advanced/#custom-script-shortcuts 简要介绍了脚本,并指出您尝试pipenv run tests 是使用 Pipfile 中的脚本的正确方法。

      【讨论】:

        【解决方案4】:

        要完全按照 Pipfile.lock 中指定的方式安装包, 你应该运行:

        pipenv sync
        

        之后,要继续在 pipenv 中工作,您应该运行:

        pipenv shell
        

        (来源:https://pipenv-fork.readthedocs.io/en/latest/advanced.html

        【讨论】:

        • 请在您的答案中添加一些解释,以便其他人可以从中学习
        • 谢谢,@NicoHaase。我刚刚更新了我的答案。希望它现在更有帮助。干杯!
        • 在所有这些之后,我可以使用pipenv tests 运行吗?
        猜你喜欢
        • 2021-02-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-10
        • 2017-06-29
        • 2019-08-14
        • 2012-07-23
        相关资源
        最近更新 更多