繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM