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