仅安装了conda版的python环境,需要在Task Schedule中定时运行某python脚本,可是直接在命令中运行python.exe无法顺利引用第三方库。
如上图所示,若不用conda激活python虚拟环境,直接切换到conda目录运行python,会各种警告,import pandas更是报错,基本只能用python标准库。
一条命令无法解决,那就用多条,于是想到模拟Anaconda Prompt的激活过程,新建一CMD或PowerShell脚本,先激活环境再运行python文件即可。
原做法是直接一条命令
D:\Anaconda\Anaconda3\Python D:\prog\script.py
改进后要先写一个windows shell脚本文件,然后在schedule中配置执行此shell文件
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
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中配置如下:
D:\proc\script.cmd
powershell -file "D:\proc\script.ps1"
附加说明:
- CMD脚本中REM开头的行是注释,这里不支持语法高亮