【问题标题】:Run Python script without activating virtual environment在不激活虚拟环境的情况下运行 Python 脚本
【发布时间】:2019-07-08 13:45:30
【问题描述】:

我想从命令行运行一个 python 脚本,但我想消除首先激活虚拟环境的需要。如果可能的话,我还想消除在脚本之前调用 python 的需要。我在某处看到将#!/usr/bin/env python 添加到脚本开头会起作用,但我无法这样做。

【问题讨论】:

  • “我做不到”是什么意思?

标签: python bash command-line-interface


【解决方案1】:

使用chmod +x script.py 使您的脚本可执行。 #!shebang 选择一个解释器。

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

/path/to/script.py

或者:

cd /path/to; ./script.py

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

【讨论】:

    【解决方案2】:

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

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

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

    #!env/bin/python
    

    ma​​in.py 文件的开头。然后你应该让你的文件可执行:

    chmod +x main.py
    

    现在,如果您运行代码(来自 project_name 文件夹):

    ./main.py
    

    ma​​in.py中包含的代码将被执行。

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

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

    所以它会是这样的:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-03
      • 1970-01-01
      • 2021-06-23
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多