【问题标题】:Python via Windows Task Scheduler can't import installed packagesPython 通过 Windows 任务计划程序无法导入已安装的包
【发布时间】:2019-12-27 14:35:51
【问题描述】:

我有一个要使用 Windows 任务计划程序运行的 Python 脚本。我可以启动脚本,但是一旦我添加了

将熊猫导入为 pd

脚本未能完成。因此,我假设对环境的调用设置不正确,但我不确定如何解决这个问题。

我在 Win10 x64 上使用 Anaconda 3.7.4 x64。我所有的软件包都安装到 anaconda 基础环境中,没有使用 venv(由于公司准则)。

MWE:

import sys
print(sys.version)
print(sys.executable)
input("Hello")
import numpy as np
print("done")

从 IDE 启动时,我得到(在 Hello 后按一个键)

3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)]
C:\Prog\Anaconda3\pythonw.exe
Hello
done

当作为计划任务启动时,使用

C:\Prog\Anaconda3\python.exe

作为可执行文件和脚本的完整路径作为选项,我的结果是

3.7.4 (default, Aug  9 2019, 18:34:13) [MSC v.1915 64 bit (AMD64)]
C:\Prog\Anaconda3\python.exe
Hello

脚本意外结束。因此,我假设在尝试导入 pandas 时脚本会崩溃。这适用于从 IDE 调用的版本,其中链接了相同的可执行文件 (python.exe)。但是请注意,我从 sys.executable 检索的可执行文件似乎是 pythonw.exe。

如何正确配置我的任务,以便成功导入 pandas?

谢谢!

【问题讨论】:

    标签: python windows scheduled-tasks


    【解决方案1】:

    使用任务计划程序启动脚本的最简单方法是使用批处理文件 (link) 并在任务计划程序的“操作”部分启动批处理文件。在批处理文件中,您可以像这样指定 Python 可执行文件和脚本:

    "C://users/document/path/to/python.exe" "C://users/document/path/to/scripts/script.py" 暂停

    如果这还不够清楚,我邀请您阅读这篇文章:Running a Batch File at a Scheduled Time

    【讨论】:

    • 非常感谢您的想法,但是,这不是我要解决的问题。我可以通过任务调度程序很好地运行脚本,只是我的环境似乎不可用。
    • 您有错误信息要分享吗?或者您可以在末尾添加输入语句而不是打印。我认为您的脚本工作正常,但通过关闭窗口打印“完成”语句后完成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2015-08-08
    • 2021-01-21
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2023-01-08
    相关资源
    最近更新 更多