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中concurrent.futures的具體使用
concurrent.futures是Python標(biāo)準(zhǔn)庫的一部分,提供了ThreadPoolExecutor和ProcessPoolExecutor兩種執(zhí)行器,用于管理線程池和進(jìn)程池,通過這些執(zhí)行器,可以簡(jiǎn)化多線程和多進(jìn)程任務(wù)的管理,提高程序執(zhí)行效率2024-09-09不到20行實(shí)現(xiàn)Python代碼即可制作精美證件照
這篇文章主要介紹了不到20行實(shí)現(xiàn)Python代碼即可制作精美證件照,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04Python 列表 sort()函數(shù)使用實(shí)例詳解
這篇文章主要介紹了Python 列表 sort()函數(shù)使用詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07python for循環(huán)remove同一個(gè)list過程解析
這篇文章主要介紹了python for循環(huán)remove同一個(gè)list過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08教你pycharm快速添加遠(yuǎn)程環(huán)境的詳細(xì)過程
今天通過本文給大家分享pycharm快速添加遠(yuǎn)程環(huán)境的過程,通過在setting中選擇設(shè)置符號(hào)add,具體詳細(xì)過程跟隨小編一起通過本文學(xué)習(xí)下吧2021-07-07使用Python進(jìn)行有效的數(shù)據(jù)脫敏的常用方法
數(shù)據(jù)脫敏(Data Masking)是在數(shù)據(jù)處理和分析過程中,對(duì)敏感信息進(jìn)行處理,以保護(hù)個(gè)人隱私和企業(yè)機(jī)密的一種技術(shù)手段,數(shù)據(jù)脫敏的目的是不會(huì)泄露敏感信息,同時(shí)保持?jǐn)?shù)據(jù)的可用性和分析價(jià)值,本文給大家介紹了使用Python進(jìn)行有效的數(shù)據(jù)脫敏的常用方法,需要的朋友可以參考下2025-03-03