通过 Windows 任务计划程序安排在 Anaconda 中开发的脚本

Posted

技术标签:

【中文标题】通过 Windows 任务计划程序安排在 Anaconda 中开发的脚本【英文标题】:Schedule a script developed in Anaconda via Windows Task Scheduler 【发布时间】:2018-09-07 15:14:19 【问题描述】:

我正在尝试使用 Windows 任务计划程序在 python 中运行脚本并编写 csv 文件。我一直用Anaconda, 所以我不明白 Python 的命令行是如何工作的。如果我在 Spyder 上运行它,

import pandas as pd
import datetime
now_is = pd.DataFrame(['Now is '+ str(datetime.datetime.now())])
now_is.to_csv('C:/Users/camila/now_is.csv')

完美运行。但任务计划程序使用命令终端执行此 .py,此代码将不起作用。 我想我需要再次安装 pandas,但我什至无法让 pip 来解决这个问题......

Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.

>>> import pip
>>> pip.__version__
'9.0.1'

>>> pip install pandas
  File "<stdin>", line 1
    pip install pandas
              ^
SyntaxError: invalid syntax
>>>
如何在 Windows 任务计划程序上安排在 Anaconda 中开发的脚本? 如何在命令行中导入我在 Anaconda 中拥有的模块?

【问题讨论】:

标题与问题相矛盾。回答哪一个 - 如何安排脚本或如何从 Python 控制台运行 shell 命令? 要在 Windows 上使用 pip 安装某些东西,您应该在 Windows 控制台(有时称为命令行提示符)中运行它——不是从 Python 控制台。 应该是“如何在 Windows 任务计划程序上安排 Anaconda 开发的脚本?” ?我是python的超级新手,所以我混淆了术语@ivan_pozdeev 与您开发脚本的位置无关。 【参考方案1】:

要添加到@Nag,我花了很长时间,发现默认的 anaconda 环境只是“基础”。

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。 这没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review【参考方案2】:

按照以下说明进行操作:

创建一个 bat 文件。 然后添加此代码:
@ECHO OFF 
TITLE Execute python script on anaconda environment
ECHO Please Wait...
:: Section 1: Activate the environment.
ECHO ============================
ECHO Conda Activate
ECHO ============================
@CALL "C:\Users\user\AppData\Local\Continuum\anaconda3\Scripts\activate.bat" TestEnvironment
:: Section 2: Execute python script.
ECHO ============================
ECHO Python test.py
ECHO ============================
python C:\Users\user\PycharmProjects\Test\test.py

ECHO ============================
ECHO End
ECHO ============================

PAUSE

参考Run a python script in virtual environment from windows task scheduler

【讨论】:

谢谢!!这行得通。请注意其他用户,将"TestEnvironment" 更改为您想要的环境,即您为f"conda activate TestEnvironment" 键入的内容... ha。 (显然我的评论使用 f-strings 有点滑稽,没有任何意义,但我希望逻辑有所帮助)。【参考方案3】:

要使用pip,您需要从Windows 命令提示符CMD.EXE 运行它。如果您在“开始”菜单中键入 cmd,它应该会显示出来。

当你去安排一个 Python 脚本时,使用“创建基本任务”向导(完整版是不必要的复杂),将操作设置为“启动程序”,程序以python.exe 运行,然后将脚本的路径和参数放在参数框中。

【讨论】:

以上是关于通过 Windows 任务计划程序安排在 Anaconda 中开发的脚本的主要内容,如果未能解决你的问题,请参考以下文章

在Windows中啥是计划任务?

如何在 Windows 命令提示符下每 5 分钟安排一次任务?

如何安排任务在关闭 Windows 时运行

在 Windows 任务计划程序中停止重复触发,直到第二天

Windows 任务计划程序错误 101 启动失败代码 2147943785 [关闭]

任务计划程序-Windows server 2012 - 任务的上次运行由用户终止