如何执行 Pipfile 中定义的脚本?
按照此处找到的语法,我在我的 pipfile 中定义了脚本部分,如下所示:
[scripts]
tests = "bash ./run-tests.sh"
运行后$ pipenv install
,如何调用tests
脚本?
我尝试了以下但没有成功:
$ tests
$ pipenv tests
$ pipenv run tests
$ pipenv shell
(virtual env) $ tests
我有同样的问题,我碰巧解决了这个问题的讨论。
长话短说,在开始我的项目之前,我只在全球范围内更新了 pipenv,而不是在本地更新。所以我仍然使用旧版本。
要正确更新pipenv
您正在使用的版本,您还必须pipenv
为您用于项目的用户进行升级。因此 :
$ sudo pip install pipenv --upgrade --user
解决了我的问题。
愿这个愚蠢的错误成为我的第一个 SO 贡献,以及我永远的耻辱。
编辑:
正如Coleman Stoltze所指出的,调用脚本的正确方法是:
$ pipenv run tests
尝试这个:
$ pipenv shell
$ pipenv run tests
要完全按照 Pipfile.lock 中指定的方式安装包,您应该运行:
pipenv sync
之后,要继续在 pipenv 中工作,您应该运行:
pipenv shell
(来源:https ://pipenv-fork.readthedocs.io/en/latest/advanced.html )
了解每次尝试帮助解决可能出现的问题时所得到的结果会很有帮助。
https://pipenv.kennethreitz.org/advanced/#custom-script-shortcuts简要介绍了脚本,并指出您的尝试pipenv run tests
是使用 Pipfile 中的脚本的正确方法。