如何在 Python shell 脚本中使用 pipenv?

gtc*_*caz 3 python macos shell command-line pipenv

我需要一个用 Python 编写的 shell 脚本的模块,所以我使用 pipenv 来安装它。我可以使用以下命令正常运行命令:

~$ pipenv run python3 foo
Run Code Online (Sandbox Code Playgroud)

现在,如果我只想~$ foo在命令行上运行(MacOS 上的fish shell,安装了自制软件),我该如何在 Python 脚本的 shebang 中调用 pipenv 环境?或者,还有更好的方法?

Pin*_*San 5

如此处https://pipenv.readthedocs.io/en/latest/ 所述,您需要先激活虚拟环境。这将生成另一个激活虚拟环境的 shell

$ pipenv shell

这样你就可以跑了

$ python foo

执行您的脚本。然后你可以使用

#!/usr/bin/env python

在脚本的第一行并使脚本可执行(chmod +x foo.py),以便您可以运行

$ ./foo

如果该脚本的位置是您的PATH环境变量的一部分,您现在应该能够运行

$ foo.py

如果你不喜欢这个扩展,你也必须从你的脚本中删除


lak*_*tak 2

使用Pipenv-shebang,您可以运行脚本

pipenv-shebang PATH/SCRIPT
Run Code Online (Sandbox Code Playgroud)

或者你可以插入 shebang

#!/usr/bin/env pipenv-shebang
Run Code Online (Sandbox Code Playgroud)

只需使用PATH/SCRIPT.