【问题标题】:Alternative for running Python script from shell using existing virtual environment使用现有虚拟环境从 shell 运行 Python 脚本的替代方法
【发布时间】:2017-07-30 07:18:31
【问题描述】:

通常,当我想从命令提示符或 shell 运行脚本时,我会导航到我的脚本文件所在的目录并输入 python <name script>.py 并按 Enter 键

D:\TestPython>python run.py
here a demo run

但是,目前我要运行的脚本依赖于虚拟环境中的一个包。在Python documentation 中,我找到了一种依靠执行activate.bat 文件来解决此问题的方法:

D:\TestPython>C:\Users\elmex\VENV\Scripts\activate.bat 
(VENV) D:\TestPython>python run.py
here a demo run

现在我想知道是否有替代方法,例如D:\TestPython>python use all packages form virt env this <dir> run.py

【问题讨论】:

  • 对于您的第一个示例,如果您的系统配置正确,您可以将D:\TestPython 添加到PATH 环境变量,并将.PY 添加到PATHEXT 环境变量。然后您可以从任何工作目录执行run。 shell会找到“run.py”,获取相关的命令模板(如py.exe "%1" %*),展开模板,执行命令。
  • 要在虚拟环境中运行脚本,安装 Python 3 以获取 py.exe 启动器作为 .py 文件的默认关联。然后在 run.py 中添加一个带有该解释器的完全限定路径的 shebang,例如#!C:\Users\elmex\VENV\Scripts\python.exe.

标签: python windows shell command-prompt


【解决方案1】:

很抱歉@Elmex80s 没有办法以另一种方式做到这一点,是的,我的意思是从 virtualenv 内部,您可以访问安装在全局系统中的软件包,但在安装此虚拟 env 之前,您需要使用选项 system-site -packages,您将可以访问我所说的。你可以在这里看到这一切:https://virtualenv.pypa.io/en/stable/reference/#cmdoption--system-site-packages 问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多