定时运行conda虚拟环境的python脚本,问题解决
Posted 詩和遠方
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了定时运行conda虚拟环境的python脚本,问题解决相关的知识,希望对你有一定的参考价值。
问题场景
仅安装了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文件
- 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开头的行是注释,这里不支持语法高亮
以上是关于定时运行conda虚拟环境的python脚本,问题解决的主要内容,如果未能解决你的问题,请参考以下文章
如何在虚拟 conda 环境中设置 streamlit 的路径
已解决Jupiter notebook运行虚拟环境的python版本和终端虚拟环境中python版本不一致
如何使用运行 Windows .exe 的 Python 脚本链接到 conda 环境中的 .dll?