在不激活虚拟环境的情况下运行Python脚本

时间:2019-07-08 13:45:30

标签: python bash command-line-interface

我想从命令行运行python脚本,但是我想不需要先激活虚拟环境。如果可能的话,我也想消除在脚本之前调用python的需要。我在某个地方看到可以在脚本的开头添加#!/usr/bin/env python,但是我无法做到这一点。

2 个答案:

答案 0 :(得分:2)

使用chmod +x script.py使脚本可执行。 #!shebang选择一个口译员。

您可以像这样从shell调用可执行文件:

/path/to/script.py

或者:

cd /path/to; ./script.py

或者,您可以将脚本放入$PATH定义的目录之一,这将使您可以像调用任何其他实用程序一样调用它。

答案 1 :(得分:0)

在您的 home 文件夹中假设这样的结构

home
- <user_name>
-- project_name
--- env
--- main.py

env 是您的虚拟环境,您可以像这样使用 shebang

#!env/bin/python

main.py 文件的开头。然后,您应该使用以下命令使文件可执行:

chmod +x main.py

现在,如果您使用以下命令运行代码(来自project_name文件夹)

./main.py

main.py 中包含的代码将被执行。

如果您希望能够从其他位置运行 main.py ,则应在 shebang 中使用绝对路径,例如:

#!/absolute/path/to/bin/python

因此,它将类似于:

#!/home/<user_name>/project_name/env/bin/python