如何在pythonshell脚本中使用pipenv?
我需要一个用Python编写的shell脚本模块,所以我使用pipenv安装了它。我可以使用以下命令很好地运行该命令:如何在pythonshell脚本中使用pipenv?,python,macos,shell,command-line,pipenv,Python,Macos,Shell,Command Line,Pipenv,我需要一个用Python编写的shell脚本模块,所以我使用pipenv安装了它。我可以使用以下命令很好地运行该命令: ~$ pipenv run python3 foo 现在,如果我只想在命令行上运行~$foo(MacOS上的fish shell,安装了自制),那么如何在Python脚本的shebang中调用pipenv环境?或者有更好的方法吗?如本文所述,您需要首先激活虚拟环境。这将在激活虚拟环境的情况下生成另一个shell $pipenv shell 这样你就可以跑了 $python f
~$ pipenv run python3 foo
现在,如果我只想在命令行上运行~$foo
(MacOS上的fish shell,安装了自制),那么如何在Python脚本的shebang中调用pipenv环境?或者有更好的方法吗?如本文所述,您需要首先激活虚拟环境。这将在激活虚拟环境的情况下生成另一个shell
$pipenv shell
这样你就可以跑了
$python foo
执行脚本。然后你可以用
#/usr/bin/env python
并使脚本可执行(chmod+xfoo.py),以便可以运行
$。/foo
如果该脚本的位置是PATH
环境变量的一部分,那么现在应该可以运行了
$foo.py
如果您不喜欢该扩展,您也必须使用从脚本中删除它,您可以使用运行脚本
pipenv-shebang PATH/SCRIPT
或者你也可以插一把
#!/usr/bin/env pipenv-shebang
使用
PATH/SCRIPT
创建包装文件(如下所示)来运行它对我来说很有用,但有点不方便
import subprocess
if __name__ == '__main__':
subprocess.run(['pipenv', 'run', 'foo'])