通过Windows Task Scheduler的Python无法导入已安装的软件包

时间:2019-12-27 14:35:51

标签: python windows scheduled-tasks

我有一个要使用Windows Task Scheduler运行的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

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

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

谢谢!

1 个答案:

答案 0 :(得分: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