Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在pythonshell脚本中使用pipenv?_Python_Macos_Shell_Command Line_Pipenv - Fatal编程技术网

如何在pythonshell脚本中使用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

我需要一个用Python编写的shell脚本模块,所以我使用pipenv安装了它。我可以使用以下命令很好地运行该命令:

~$ 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'])