一、引言
为了在centos系统上高效地开发和运行python项目,我们常常需要借助miniconda3来管理python环境。本文将详细介绍如何在centos系统上安装miniconda3,并将python项目部署到后台运行。
二、miniconda3和centos系统介绍
miniconda3介绍
miniconda是一个轻量级的anaconda发行版,它只包含了conda、python以及一些必要的依赖包。相比于anaconda,miniconda占用的磁盘空间更小,安装速度更快,非常适合在资源有限的环境中使用。conda是一个强大的包管理和环境管理工具,它可以帮助我们轻松地创建、管理和切换不同的python环境,避免不同项目之间的依赖冲突。
三、miniconda3的安装步骤
(一)下载miniconda3安装包
打开终端,使用wget命令从官方网站下载miniconda3的安装包。以下是下载最新版本的miniconda3的命令:
wget https://repo.anaconda.com/miniconda/miniconda3-latest-linux-x86_64.sh
(二)运行安装脚本
下载完成后,运行安装脚本。在终端中执行以下命令:
bash miniconda3-latest-linux-x86_64.sh
运行脚本后,会出现一系列提示信息,按照提示依次按下回车键,阅读许可协议并输入“yes”同意协议,选择安装路径(默认路径为用户的主目录下的miniconda3文件夹),最后输入“yes”完成安装。
(三)激活conda环境
安装完成后,需要激活conda环境。在终端中执行以下命令:
source ~/.bashrc
然后验证conda是否安装成功,执行以下命令查看conda的版本信息:
conda --version
如果输出了conda的版本号,则说明安装成功。
四、python项目的部署过程
(一)创建python虚拟环境
为了避免不同项目之间的依赖冲突,建议为每个python项目创建一个独立的虚拟环境。在终端中执行以下命令创建一个名为myenv的虚拟环境,并指定python版本为3.8:
conda create -n myenv python=3.8
创建完成后,激活该虚拟环境:
conda activate myenv
(二)安装项目依赖
在激活的虚拟环境中,使用pip或conda安装项目所需的依赖包。例如,如果项目依赖于flask和numpy,可以执行以下命令进行安装:
pip install flask numpy
或者使用conda进行安装:
conda install flask numpy
(三)上传或克隆项目代码
将本地的python项目代码上传到centos服务器,或者使用git命令从代码仓库中克隆项目代码。例如,使用以下命令克隆一个github上的项目:
git clone https://github.com/username/repository.git
(四)配置项目
进入项目目录,根据项目的需求进行配置。例如,修改配置文件、设置环境变量等。
五、将python项目设置为后台运行
(一)使用nohup命令
nohup命令可以让进程在终端关闭后继续运行。在项目目录下,执行以下命令将python脚本在后台运行,并将输出重定向到一个日志文件中:
nohup python main.py > output.log 2>&1 &
解释一下命令的各个部分:
- nohup:忽略挂断信号,使进程在终端关闭后继续运行。
- python main.py:运行python脚本。
- >:重定向标准输出。
- output.log:指定日志文件名。
- 2>&1:将标准错误输出重定向到与标准输出相同的位置。
- &:使命令在后台运行。
按下enter键执行命令后,会看到一个输出类似于nohup: ignoring input and appending output to ‘output.log’的消息,这意味着python脚本已经在后台启动。
(二)使用screen命令
screen是一个终端多路复用器,可以让我们在断开终端后重新连接到会话。首先,安装screen:
sudo yum install screen
然后,启动一个新的screen会话:
screen -s mysession
在screen会话中运行python脚本:
python main.py
按下ctrl+a然后按d来分离screen会话。这样,即使关闭终端,python脚本仍然会在后台运行。如果需要重新连接到screen会话,可以使用以下命令:
screen -r mysession
(三)使用systemd服务
systemd是centos的初始化系统,可以用来管理守护进程。创建一个新的服务文件:
sudo vi /etc/systemd/system/my_python_service.service
在文件中添加以下内容:
[unit] description=my python script after=network.target [service] execstart=/usr/bin/python3 /path/to/main.py workingdirectory=/path/to/your/script restart=always user=your_username [install] wantedby=multi-user.target
解释一下配置文件的各个部分:
- [unit]:描述服务的基本信息。
- description:服务的描述信息。
- after:指定服务在网络服务启动后启动。
- [service]:描述服务的具体配置。
- execstart:指定要运行的命令。
- workingdirectory:指定脚本的工作目录。
- restart:确保脚本在崩溃或系统重启后自动重启。
- user:指定运行脚本的用户。
- [install]:描述服务的安装信息。
- wantedby:指定服务在多用户模式下启动。
保存并退出编辑器,重新加载systemd配置:
sudo systemctl daemon-reload
启动服务并设置为开机自启动:
sudo systemctl start my_python_service sudo systemctl enable my_python_service
六、检查和管理后台运行项目
(一)检查项目运行状态
可以使用以下命令检查后台运行的python进程:
ps aux | grep python
这将列出与python脚本相关的进程信息,根据输出找到进程id(pid)。
(二)查看日志文件
如果使用nohup命令将输出重定向到了日志文件,可以使用以下命令查看日志文件的内容:
tail -f output.log
这将实时显示日志文件的最新内容。
(三)停止项目运行
如果需要停止后台运行的python项目,可以使用以下命令终止相关进程:
kill <pid>
将<pid>替换为实际的进程id。
到此这篇关于centos系统下miniconda3安装与python项目后台运行全攻略的文章就介绍到这了,更多相关centos安装miniconda3与python项目部署内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论