定时运行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?

Python创建虚拟环境的三种方式(venv | pipenv | conda)

conda创建python环境

python - 环境 - python用conda创建虚拟环境