查看python安装情况
which python
查看python版本
python --version
查看conda安装情况
which conda
查看conda版本
conda --version
查看安装的虚拟环境
conda env list
创建指定版本的python虚拟环境
# 虚拟环境名称为`python397`
conda create -n python397 python=3.9.7
切换到指定的虚拟环境
conda activate python397
安装conda
# 创建下载目录
mkdir -p ~/miniconda3
# 下载miniconda安装文件
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
# 安装(-b 无交互模式 -u 更新模式 -p 多级目录)
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
# 安装完毕,移除安装文件
rm -rf ~/miniconda3/miniconda.sh
初始化 bash
和 sh
~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh
安装指定的依赖包
pip install -r requirements.txt
文件requirements.txt
的内容如下(可根据实际需求调整)
cachetools==5.3.1
czthry==0.1.0
pandas>=1.3.5
pika==1.3.2
requests>=2.20.0
schedule>=1.1.0
tushare==1.3.6
supervisor安装
要先确定python的环境,再进行安装
pip install supervisor
supervisor配置
输出配置信息到终端
echo_supervisord_conf
输出配置信息到文件(需要权限)
echo_supervisord_conf > /etc/supervisord.conf
需要根据情况修改配置文件,如
- 设置用户名和密码
- 设置需要管理的子进程的配置文件目录
- 对子进程进行配置
supervisor子进程配置
示例
[program:Python-xxx]
command=/root/miniconda3/envs/python397/bin/python main.py ; 普通执行命令,重启的时候会执行
; 执行前先cd到目录去,如果有相对路径,比如输出log文件,就是这个路径。一般和py文件同级目录
directory=/root/app/go/xx/script
priority=1 ; 数字越高,优先级越高
numprocs=1 ; 启动几个进程
autostart=true ; 随着supervisord的启动而启动
autorestart=true ; 自动重启。。当然要选上了
startretries=10 ; 启动失败时的最多重试次数
exitcodes=0 ; 正常退出代码
stopsignal=KILL ; 用来杀死进程的信号
stopwaitsecs=10 ; 发送SIGKILL前的等待时间
redirect_stderr=true ; 重定向stderr到stdout
stdout_logfile=/root/app/go/xx/script/app_log.log
stdout_logfile_maxbytes=10MB
stdout_logfile_backups=10
注意
[program:Python-工作量素材回复统计]
# 给进程命名,显示在管理页面上
command=/root/miniconda3/envs/python397/bin/python main.py ; 普通执行命令,重启的时候会执行
# 要执行的命令,简直python给出完整路径,避免因为python虚拟环境切换而产生问题
# python完整路径由命令`which python`获取
directory=/root/app/go/xx/script
# 指定脚本文件所在目录,一般和py文件同级
stdout_logfile=/root/app/go/xx/script/app_log.log
# 指定日志输出目录,建议和`directory`一致
# 其他日志相关的参数可调整,如日志文件数量限制、单个文件大小限制
supervisor启动
以指定的配置文件来启动supervisor
supervisord -c /etc/supervisord.conf