CentOS系統(tǒng)下Miniconda3安裝與Python項目后臺運行全攻略
一、引言
為了在CentOS系統(tǒng)上高效地開發(fā)和運行Python項目,我們常常需要借助Miniconda3來管理Python環(huán)境。本文將詳細(xì)介紹如何在CentOS系統(tǒng)上安裝Miniconda3,并將Python項目部署到后臺運行。
二、Miniconda3和CentOS系統(tǒng)介紹
Miniconda3介紹
Miniconda是一個輕量級的Anaconda發(fā)行版,它只包含了conda、Python以及一些必要的依賴包。相比于Anaconda,Miniconda占用的磁盤空間更小,安裝速度更快,非常適合在資源有限的環(huán)境中使用。conda是一個強大的包管理和環(huán)境管理工具,它可以幫助我們輕松地創(chuàng)建、管理和切換不同的Python環(huán)境,避免不同項目之間的依賴沖突。
三、Miniconda3的安裝步驟
(一)下載Miniconda3安裝包
打開終端,使用wget命令從官方網(wǎng)站下載Miniconda3的安裝包。以下是下載最新版本的Miniconda3的命令:
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
(二)運行安裝腳本
下載完成后,運行安裝腳本。在終端中執(zhí)行以下命令:
bash Miniconda3-latest-Linux-x86_64.sh
運行腳本后,會出現(xiàn)一系列提示信息,按照提示依次按下回車鍵,閱讀許可協(xié)議并輸入“yes”同意協(xié)議,選擇安裝路徑(默認(rèn)路徑為用戶的主目錄下的miniconda3文件夾),最后輸入“yes”完成安裝。
(三)激活conda環(huán)境
安裝完成后,需要激活conda環(huán)境。在終端中執(zhí)行以下命令:
source ~/.bashrc
然后驗證conda是否安裝成功,執(zhí)行以下命令查看conda的版本信息:
conda --version
如果輸出了conda的版本號,則說明安裝成功。
四、Python項目的部署過程
(一)創(chuàng)建Python虛擬環(huán)境
為了避免不同項目之間的依賴沖突,建議為每個Python項目創(chuàng)建一個獨立的虛擬環(huán)境。在終端中執(zhí)行以下命令創(chuàng)建一個名為myenv的虛擬環(huán)境,并指定Python版本為3.8:
conda create -n myenv python=3.8
創(chuàng)建完成后,激活該虛擬環(huán)境:
conda activate myenv
(二)安裝項目依賴
在激活的虛擬環(huán)境中,使用pip或conda安裝項目所需的依賴包。例如,如果項目依賴于Flask和numpy,可以執(zhí)行以下命令進(jìn)行安裝:
pip install flask numpy
或者使用conda進(jìn)行安裝:
conda install flask numpy
(三)上傳或克隆項目代碼
將本地的Python項目代碼上傳到CentOS服務(wù)器,或者使用git命令從代碼倉庫中克隆項目代碼。例如,使用以下命令克隆一個GitHub上的項目:
git clone https://github.com/username/repository.git
(四)配置項目
進(jìn)入項目目錄,根據(jù)項目的需求進(jìn)行配置。例如,修改配置文件、設(shè)置環(huán)境變量等。
五、將Python項目設(shè)置為后臺運行
(一)使用nohup命令
nohup命令可以讓進(jìn)程在終端關(guān)閉后繼續(xù)運行。在項目目錄下,執(zhí)行以下命令將Python腳本在后臺運行,并將輸出重定向到一個日志文件中:
nohup python main.py > output.log 2>&1 &
解釋一下命令的各個部分:
- nohup:忽略掛斷信號,使進(jìn)程在終端關(guān)閉后繼續(xù)運行。
- python main.py:運行Python腳本。
- >:重定向標(biāo)準(zhǔn)輸出。
- output.log:指定日志文件名。
- 2>&1:將標(biāo)準(zhǔn)錯誤輸出重定向到與標(biāo)準(zhǔn)輸出相同的位置。
- &:使命令在后臺運行。
按下Enter鍵執(zhí)行命令后,會看到一個輸出類似于nohup: ignoring input and appending output to ‘output.log’的消息,這意味著Python腳本已經(jīng)在后臺啟動。
(二)使用screen命令
screen是一個終端多路復(fù)用器,可以讓我們在斷開終端后重新連接到會話。首先,安裝screen:
sudo yum install screen
然后,啟動一個新的screen會話:
screen -S mysession
在screen會話中運行Python腳本:
python main.py
按下Ctrl+A然后按D來分離screen會話。這樣,即使關(guān)閉終端,Python腳本仍然會在后臺運行。如果需要重新連接到screen會話,可以使用以下命令:
screen -r mysession
(三)使用systemd服務(wù)
systemd是CentOS的初始化系統(tǒng),可以用來管理守護(hù)進(jìn)程。創(chuàng)建一個新的服務(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
解釋一下配置文件的各個部分:
- [Unit]:描述服務(wù)的基本信息。
- Description:服務(wù)的描述信息。
- After:指定服務(wù)在網(wǎng)絡(luò)服務(wù)啟動后啟動。
- [Service]:描述服務(wù)的具體配置。
- ExecStart:指定要運行的命令。
- WorkingDirectory:指定腳本的工作目錄。
- Restart:確保腳本在崩潰或系統(tǒng)重啟后自動重啟。
- User:指定運行腳本的用戶。
- [Install]:描述服務(wù)的安裝信息。
- WantedBy:指定服務(wù)在多用戶模式下啟動。
保存并退出編輯器,重新加載systemd配置:
sudo systemctl daemon-reload
啟動服務(wù)并設(shè)置為開機(jī)自啟動:
sudo systemctl start my_python_service sudo systemctl enable my_python_service
六、檢查和管理后臺運行項目
(一)檢查項目運行狀態(tài)
可以使用以下命令檢查后臺運行的Python進(jìn)程:
ps aux | grep python
這將列出與Python腳本相關(guān)的進(jìn)程信息,根據(jù)輸出找到進(jìn)程ID(PID)。
(二)查看日志文件
如果使用nohup命令將輸出重定向到了日志文件,可以使用以下命令查看日志文件的內(nèi)容:
tail -f output.log
這將實時顯示日志文件的最新內(nèi)容。
(三)停止項目運行
如果需要停止后臺運行的Python項目,可以使用以下命令終止相關(guān)進(jìn)程:
kill <pid>
將<pid>替換為實際的進(jìn)程ID。
到此這篇關(guān)于CentOS系統(tǒng)下Miniconda3安裝與Python項目后臺運行全攻略的文章就介紹到這了,更多相關(guān)CentOS安裝Miniconda3與Python項目部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中concurrent.futures的具體使用
concurrent.futures是Python標(biāo)準(zhǔn)庫的一部分,提供了ThreadPoolExecutor和ProcessPoolExecutor兩種執(zhí)行器,用于管理線程池和進(jìn)程池,通過這些執(zhí)行器,可以簡化多線程和多進(jìn)程任務(wù)的管理,提高程序執(zhí)行效率2024-09-09不到20行實現(xiàn)Python代碼即可制作精美證件照
這篇文章主要介紹了不到20行實現(xiàn)Python代碼即可制作精美證件照,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04python for循環(huán)remove同一個list過程解析
這篇文章主要介紹了python for循環(huán)remove同一個list過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08教你pycharm快速添加遠(yuǎn)程環(huán)境的詳細(xì)過程
今天通過本文給大家分享pycharm快速添加遠(yuǎn)程環(huán)境的過程,通過在setting中選擇設(shè)置符號add,具體詳細(xì)過程跟隨小編一起通過本文學(xué)習(xí)下吧2021-07-07使用Python進(jìn)行有效的數(shù)據(jù)脫敏的常用方法
數(shù)據(jù)脫敏(Data Masking)是在數(shù)據(jù)處理和分析過程中,對敏感信息進(jìn)行處理,以保護(hù)個人隱私和企業(yè)機(jī)密的一種技術(shù)手段,數(shù)據(jù)脫敏的目的是不會泄露敏感信息,同時保持?jǐn)?shù)據(jù)的可用性和分析價值,本文給大家介紹了使用Python進(jìn)行有效的數(shù)據(jù)脫敏的常用方法,需要的朋友可以參考下2025-03-03