定时运行conda虚拟环境的python脚本,问题解决

问题场景

仅安装了conda版的python环境,需要在Task Schedule中定时运行某python脚本,可是直接在命令中运行python.exe无法顺利引用第三方库。
定时运行conda虚拟环境的python脚本,问题解决_第1张图片
如上图所示,若不用conda激活python虚拟环境,直接切换到conda目录运行python,会各种警告,import pandas更是报错,基本只能用python标准库。

解决方案

一条命令无法解决,那就用多条,于是想到模拟Anaconda Prompt的激活过程,新建一CMD或PowerShell脚本,先激活环境再运行python文件即可。

原命令

原做法是直接一条命令

D:\Anaconda\Anaconda3\Python  D:\prog\script.py
改进后命令

改进后要先写一个windows shell脚本文件,然后在schedule中配置执行此shell文件

  • CMD版本(script.cmd
REM conda activate base python environment
call D:\Anaconda\Anaconda3\Scripts\activate.bat D:\Anaconda\Anaconda3

REM run python file
cd "D:\prog\"
python script.py
  • PowerShell版本(script.ps1
# conda activate base python environment
& 'D:\Anaconda\Anaconda3\shell\condabin\conda-hook.ps1'
conda activate 'D:\Anaconda\Anaconda3'

# run python file
cd "D:\prog\"
python script.py
执行脚本语句

在Task schedule中配置如下:

  • cmd版本
D:\proc\script.cmd
  • powershell版本
powershell -file "D:\proc\script.ps1"

附加说明:

  • CMD脚本中REM开头的行是注释,这里不支持语法高亮

你可能感兴趣的:(Python,问题解决)