CentOS系統(tǒng)下Miniconda3安裝與Python項(xiàng)目后臺(tái)運(yùn)行全攻略
一、引言
為了在CentOS系統(tǒng)上高效地開發(fā)和運(yùn)行Python項(xiàng)目,我們常常需要借助Miniconda3來管理Python環(huán)境。本文將詳細(xì)介紹如何在CentOS系統(tǒng)上安裝Miniconda3,并將Python項(xiàng)目部署到后臺(tái)運(yùn)行。
二、Miniconda3和CentOS系統(tǒng)介紹
Miniconda3介紹
Miniconda是一個(gè)輕量級(jí)的Anaconda發(fā)行版,它只包含了conda、Python以及一些必要的依賴包。相比于Anaconda,Miniconda占用的磁盤空間更小,安裝速度更快,非常適合在資源有限的環(huán)境中使用。conda是一個(gè)強(qiáng)大的包管理和環(huán)境管理工具,它可以幫助我們輕松地創(chuàng)建、管理和切換不同的Python環(huán)境,避免不同項(xiàng)目之間的依賴沖突。
三、Miniconda3的安裝步驟
(一)下載Miniconda3安裝包
打開終端,使用wget命令從官方網(wǎng)站下載Miniconda3的安裝包。以下是下載最新版本的Miniconda3的命令:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
(二)運(yùn)行安裝腳本
下載完成后,運(yùn)行安裝腳本。在終端中執(zhí)行以下命令:
bash Miniconda3-latest-Linux-x86_64.sh
運(yùn)行腳本后,會(huì)出現(xiàn)一系列提示信息,按照提示依次按下回車鍵,閱讀許可協(xié)議并輸入“yes”同意協(xié)議,選擇安裝路徑(默認(rèn)路徑為用戶的主目錄下的miniconda3文件夾),最后輸入“yes”完成安裝。
(三)激活conda環(huán)境
安裝完成后,需要激活conda環(huán)境。在終端中執(zhí)行以下命令:
source ~/.bashrc
然后驗(yàn)證conda是否安裝成功,執(zhí)行以下命令查看conda的版本信息:
conda --version
如果輸出了conda的版本號(hào),則說明安裝成功。
四、Python項(xiàng)目的部署過程
(一)創(chuàng)建Python虛擬環(huán)境
為了避免不同項(xiàng)目之間的依賴沖突,建議為每個(gè)Python項(xiàng)目創(chuàng)建一個(gè)獨(dú)立的虛擬環(huán)境。在終端中執(zhí)行以下命令創(chuàng)建一個(gè)名為myenv的虛擬環(huán)境,并指定Python版本為3.8:
conda create -n myenv python=3.8
創(chuàng)建完成后,激活該虛擬環(huán)境:
conda activate myenv
(二)安裝項(xiàng)目依賴
在激活的虛擬環(huán)境中,使用pip或conda安裝項(xiàng)目所需的依賴包。例如,如果項(xiàng)目依賴于Flask和numpy,可以執(zhí)行以下命令進(jìn)行安裝:
pip install flask numpy
或者使用conda進(jìn)行安裝:
conda install flask numpy
(三)上傳或克隆項(xiàng)目代碼
將本地的Python項(xiàng)目代碼上傳到CentOS服務(wù)器,或者使用git命令從代碼倉庫中克隆項(xiàng)目代碼。例如,使用以下命令克隆一個(gè)GitHub上的項(xiàng)目:
git clone https://github.com/username/repository.git
(四)配置項(xiàng)目
進(jìn)入項(xiàng)目目錄,根據(jù)項(xiàng)目的需求進(jìn)行配置。例如,修改配置文件、設(shè)置環(huán)境變量等。

五、將Python項(xiàng)目設(shè)置為后臺(tái)運(yùn)行
(一)使用nohup命令
nohup命令可以讓進(jìn)程在終端關(guān)閉后繼續(xù)運(yùn)行。在項(xiàng)目目錄下,執(zhí)行以下命令將Python腳本在后臺(tái)運(yùn)行,并將輸出重定向到一個(gè)日志文件中:
nohup python main.py > output.log 2>&1 &
解釋一下命令的各個(gè)部分:
- nohup:忽略掛斷信號(hào),使進(jìn)程在終端關(guān)閉后繼續(xù)運(yùn)行。
- python main.py:運(yùn)行Python腳本。
- >:重定向標(biāo)準(zhǔn)輸出。
- output.log:指定日志文件名。
- 2>&1:將標(biāo)準(zhǔn)錯(cuò)誤輸出重定向到與標(biāo)準(zhǔn)輸出相同的位置。
- &:使命令在后臺(tái)運(yùn)行。
按下Enter鍵執(zhí)行命令后,會(huì)看到一個(gè)輸出類似于nohup: ignoring input and appending output to ‘output.log’的消息,這意味著Python腳本已經(jīng)在后臺(tái)啟動(dòng)。
(二)使用screen命令
screen是一個(gè)終端多路復(fù)用器,可以讓我們?cè)跀嚅_終端后重新連接到會(huì)話。首先,安裝screen:
sudo yum install screen
然后,啟動(dòng)一個(gè)新的screen會(huì)話:
screen -S mysession
在screen會(huì)話中運(yùn)行Python腳本:
python main.py
按下Ctrl+A然后按D來分離screen會(huì)話。這樣,即使關(guān)閉終端,Python腳本仍然會(huì)在后臺(tái)運(yùn)行。如果需要重新連接到screen會(huì)話,可以使用以下命令:
screen -r mysession
(三)使用systemd服務(wù)
systemd是CentOS的初始化系統(tǒng),可以用來管理守護(hù)進(jìn)程。創(chuàng)建一個(gè)新的服務(wù)文件:
sudo vi /etc/systemd/system/my_python_service.service
在文件中添加以下內(nèi)容:
[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
解釋一下配置文件的各個(gè)部分:
- [Unit]:描述服務(wù)的基本信息。
- Description:服務(wù)的描述信息。
- After:指定服務(wù)在網(wǎng)絡(luò)服務(wù)啟動(dòng)后啟動(dòng)。
- [Service]:描述服務(wù)的具體配置。
- ExecStart:指定要運(yùn)行的命令。
- WorkingDirectory:指定腳本的工作目錄。
- Restart:確保腳本在崩潰或系統(tǒng)重啟后自動(dòng)重啟。
- User:指定運(yùn)行腳本的用戶。
- [Install]:描述服務(wù)的安裝信息。
- WantedBy:指定服務(wù)在多用戶模式下啟動(dòng)。
保存并退出編輯器,重新加載systemd配置:
sudo systemctl daemon-reload
啟動(dòng)服務(wù)并設(shè)置為開機(jī)自啟動(dòng):
sudo systemctl start my_python_service sudo systemctl enable my_python_service
六、檢查和管理后臺(tái)運(yùn)行項(xiàng)目
(一)檢查項(xiàng)目運(yùn)行狀態(tài)
可以使用以下命令檢查后臺(tái)運(yùn)行的Python進(jìn)程:
ps aux | grep python
這將列出與Python腳本相關(guān)的進(jìn)程信息,根據(jù)輸出找到進(jìn)程ID(PID)。
(二)查看日志文件
如果使用nohup命令將輸出重定向到了日志文件,可以使用以下命令查看日志文件的內(nèi)容:
tail -f output.log
這將實(shí)時(shí)顯示日志文件的最新內(nèi)容。
(三)停止項(xiàng)目運(yùn)行
如果需要停止后臺(tái)運(yùn)行的Python項(xiàng)目,可以使用以下命令終止相關(guān)進(jìn)程:
kill <pid>
將<pid>替換為實(shí)際的進(jìn)程ID。
到此這篇關(guān)于CentOS系統(tǒng)下Miniconda3安裝與Python項(xiàng)目后臺(tái)運(yùn)行全攻略的文章就介紹到這了,更多相關(guān)CentOS安裝Miniconda3與Python項(xiàng)目部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python如何向現(xiàn)有的DataFrame添加新列示例代碼
Pandas庫中的DataFrame是處理表格數(shù)據(jù)的主要數(shù)據(jù)結(jié)構(gòu),添加新列有多種方法,包括使用現(xiàn)有列的值、創(chuàng)建全為零或全為一的列、或者直接添加一個(gè)由特定值組成的列,這些方法在處理數(shù)據(jù)時(shí)非常有用,需要的朋友可以參考下2024-11-11
python3 實(shí)現(xiàn)調(diào)用串口功能
今天小編就為大家分享一篇python3 實(shí)現(xiàn)調(diào)用串口功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-12-12
在CentOS上配置Nginx+Gunicorn+Python+Flask環(huán)境的教程
這篇文章主要介紹了在CentOS上配置Nginx+Gunicorn+Python+Flask環(huán)境的教程,包括安裝supervisor來管理進(jìn)程的用法,整套配下來相當(dāng)實(shí)用,需要的朋友可以參考下2016-06-06
python使用Windows的wmic命令監(jiān)控文件運(yùn)行狀況,如有異常發(fā)送郵件報(bào)警
這篇文章主要介紹了python使用Windows的wmic命令監(jiān)控文件運(yùn)行狀況,如有異常發(fā)送郵件報(bào)警的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下2021-01-01
PHP網(wǎng)頁抓取之抓取百度貼吧郵箱數(shù)據(jù)代碼分享
本文給大家介紹PHP網(wǎng)頁抓取之抓取百度貼吧郵箱數(shù)據(jù)代碼分享,程序?qū)崿F(xiàn)了一鍵抓取帖子全部郵箱和分頁抓取郵箱兩個(gè)功能,感興趣的朋友一起學(xué)習(xí)吧2016-04-04
Python中的logging模塊實(shí)現(xiàn)日志打印
這篇文章主要介紹了Python中的logging模塊實(shí)現(xiàn)日志打印,其實(shí)不止print打印日志方便排查問題,Python自帶的logging模塊,也可以很簡單就能實(shí)現(xiàn)日志的配置和打印,下面來看看具體的實(shí)現(xiàn)過程吧,需要的朋友可以參考一下2022-03-03
二種python發(fā)送郵件實(shí)例講解(python發(fā)郵件附件可以使用email模塊實(shí)現(xiàn))
這篇文章主要介紹了使用Python email模塊、smtplib庫發(fā)送郵件的實(shí)例,大家參考使用2013-12-12

