首页 > 解决方案 > Python 通过 Windows 任务计划程序无法导入已安装的包

问题描述

我有一个要使用 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。

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

谢谢!

标签: pythonwindowsscheduled-tasks

解决方案


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

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

如果这还不够清楚,我邀请您阅读这篇文章:在预定时间运行批处理文件


推荐阅读