如何在 Python shell 脚本中使用 pipenv?
How to use pipenv in Python shell script?
我在 Python 中编写的 shell 脚本需要一个模块,所以我使用 pipenv 来安装它。我可以 运行 命令正常使用:
~$ pipenv run python3 foo
现在,如果我只想在命令行上 运行 ~$ foo
(MacOS 上的 fish shell,已安装自制程序),我该如何在 shebang 中调用 pipenv 环境我的 Python 脚本?或者有更好的方法吗?
如此处所述https://pipenv.readthedocs.io/en/latest/ 您需要先激活虚拟环境。这将生成另一个 shell 并激活虚拟环境
$ pipenv shell
这样你就可以运行
$ python foo
执行您的脚本。然后你可以使用
#!/usr/bin/env python
在脚本的第一行并使脚本可执行 (chmod +x foo.py) 以便您可以 运行
$ ./foo
如果该脚本的位置是您的 PATH
环境变量的一部分,您现在应该可以 运行
$ foo.py
如果您不喜欢该扩展,您也必须从您的脚本中删除
使用 pipenv-shebang 你可以 运行 你的脚本
pipenv-shebang PATH/SCRIPT
或者您可以插入 shebang
#!/usr/bin/env pipenv-shebang
到 运行 它只需要 PATH/SCRIPT
.
像下面这样创建包装文件对我有用,但有点老套。
import subprocess
if __name__ == '__main__':
subprocess.run(['pipenv', 'run', 'foo'])
我在 Python 中编写的 shell 脚本需要一个模块,所以我使用 pipenv 来安装它。我可以 运行 命令正常使用:
~$ pipenv run python3 foo
现在,如果我只想在命令行上 运行 ~$ foo
(MacOS 上的 fish shell,已安装自制程序),我该如何在 shebang 中调用 pipenv 环境我的 Python 脚本?或者有更好的方法吗?
如此处所述https://pipenv.readthedocs.io/en/latest/ 您需要先激活虚拟环境。这将生成另一个 shell 并激活虚拟环境
$ pipenv shell
这样你就可以运行
$ python foo
执行您的脚本。然后你可以使用
#!/usr/bin/env python
在脚本的第一行并使脚本可执行 (chmod +x foo.py) 以便您可以 运行
$ ./foo
如果该脚本的位置是您的 PATH
环境变量的一部分,您现在应该可以 运行
$ foo.py
如果您不喜欢该扩展,您也必须从您的脚本中删除
使用 pipenv-shebang 你可以 运行 你的脚本
pipenv-shebang PATH/SCRIPT
或者您可以插入 shebang
#!/usr/bin/env pipenv-shebang
到 运行 它只需要 PATH/SCRIPT
.
像下面这样创建包装文件对我有用,但有点老套。
import subprocess
if __name__ == '__main__':
subprocess.run(['pipenv', 'run', 'foo'])