[英]How to use pipenv in Python shell script?
我需要一个用 Python 编写的 shell 脚本的模块,所以我使用 pipenv 来安装它。 我可以使用以下命令正常运行命令:
~$ pipenv run python3 foo
现在,如果我只想在命令行上运行~$ foo
(MacOS 上的fish shell,安装了自制软件),我该如何在 Python 脚本的 shebang 中调用 pipenv 环境? 或者,还有更好的方法?
如此处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
运行它。
创建如下包装文件对我有用,但有点hacky方式。
import subprocess
if __name__ == '__main__':
subprocess.run(['pipenv', 'run', 'foo'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.