【问题标题】:How do I run a python script in task scheduler in a virtual environment when there is no activate.bat and I'm mortal当没有activate.bat并且我是凡人时,如何在虚拟环境中的任务调度程序中运行python脚本
【发布时间】:2020-08-06 08:48:44
【问题描述】:

我不能说我很乐观。我看过这个: How to schedule a python script to run from virtual environment via task scheduler 和这个 https://superuser.com/questions/1142185/schedule-virtualenv-dependent-python-script-with-windows-task-scheduler 和这个: Run a python script in virtual environment from windows task scheduler

但我的虚拟环境的脚本子目录中没有 activate.bat。这是一个已知的蟒蛇错误 Anaconda3 activate.bat is not recognized as an internal or external command 修复它需要卸载并重新安装 anaconda。我有很多工作脚本,服务器一直在运行。我不能胡思乱想,尝试 miniconda、anaconda5.1 等。

我听说如果我不能在任务调度程序中使用虚拟环境来强制依赖项进入目录,pip -t 可能是一个 hack。难道没有别的办法了吗?我认为 pip 和 anaconda 不能很好地协同工作

【问题讨论】:

    标签: python anaconda taskscheduler python-venv


    【解决方案1】:

    很容易。转到start menu 并通过搜索选项搜索环境变量。将您的 anadonda bin 目录(例如C:\conda\bin)附加到 PATH 变量。你完成了

    【讨论】:

    • 如果不是我的电脑,我会怎么做,它是在使用服务帐户运行的服务器上。此外,这不会与正在运行的所有其他 python 一起使用。这个虚拟环境的重点是将它与其他运行良好的脚本隔离开来。
    • 您仍然可以做到这一点。在 Windows 终端上,运行:` SET PATH=C:\conda\bin;%PATH% && conda activate C:\myvirtualenv && python `
    • 这个只适用于单个会话。当您关闭终端时,它会运行并且不会破坏您的 python 安装
    • 我不认为我理解这个会话的东西。但对我来说,没有终端。网络上有一台服务器在通用系统用户上运行。它正在任务调度程序之外运行任务。大概他们都在同一个“会话”下运行。现在,我的一项任务需要与其他任务不同的环境。我是否只是将整个设置路径...字符串后跟我的脚本放在程序/字段中?
    猜你喜欢
    • 2016-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多