Python項目打包部署到服務(wù)器的實現(xiàn)
一、準備工作
- 開發(fā)環(huán)境:本文以PyCharm為例,其他IDE或文本編輯器同理。
- 服務(wù)器:本文以Ubuntu為例,其他Linux系統(tǒng)同理。
- Python項目:已完成開發(fā)并能在本地正常運行。
二、項目打包
Python項目打包通常使用pip
安裝依賴,并通過setuptools
創(chuàng)建可執(zhí)行的腳本。
- 安裝打包工具
首先,確保你的環(huán)境中安裝了setuptools
和wheel
:
pip install setuptools wheel
- 創(chuàng)建
setup.py
在項目根目錄下創(chuàng)建一個setup.py
文件,內(nèi)容如下:
from setuptools import setup, find_packages setup( name='your_project_name', version='0.1.0', packages=find_packages(), install_requires=[ # 這里填寫項目依賴的包,例如 'Flask==1.1.2', 'requests==2.25.1', ], entry_points={ 'console_scripts': [ 'your_script_name=your_package.module:main_function', ], }, )
替換your_project_name
、your_script_name
、your_package.module
和main_function
為你的項目信息。
3. 打包項目
在命令行中,進入項目根目錄,執(zhí)行以下命令進行打包:
python setup.py sdist bdist_wheel
打包完成后,你會在dist
目錄下找到.tar.gz
和.whl
文件。
三、部署到服務(wù)器
- 上傳打包文件到服務(wù)器
使用SCP命令將打包好的文件上傳到服務(wù)器:
scp dist/your_project_name-0.1.0-py3-none-any.whl user@your_server_ip:/path/to/deploy
- 安裝項目依賴
連接到服務(wù)器,并安裝項目依賴:
ssh user@your_server_ip cd /path/to/deploy pip install your_project_name-0.1.0-py3-none-any.whl
或者,如果你上傳了.tar.gz
文件,可以使用以下命令安裝:
pip install your_project_name-0.1.0.tar.gz
- 運行項目
安裝完成后,你可以直接運行你的腳本:
your_script_name
如果需要后臺運行,可以使用nohup
和&
:
nohup your_script_name &
- 查看運行日志
查看運行日志:
tail -f nohup.out
四、設(shè)置服務(wù)自啟動
為了使項目在服務(wù)器啟動時自動運行,可以創(chuàng)建一個系統(tǒng)服務(wù)。
- 創(chuàng)建服務(wù)文件
sudo nano /etc/systemd/system/your_project_name.service
添加以下內(nèi)容:
[Unit] Description=My Python Project Service After=network.target [Service] User=user ExecStart=/usr/bin/python /path/to/your_script_name Restart=on-failure [Install] WantedBy=multi-user.target
替換user
、/path/to/your_script_name
為你的用戶名和腳本路徑。
啟動并使服務(wù)自啟動
sudo systemctl start your_project_name sudo systemctl enable your_project_name
現(xiàn)在,你的Python項目應(yīng)該已經(jīng)成功部署到服務(wù)器并配置為自啟動服務(wù)。如果需要重啟或停止服務(wù),可以使用以下命令:
sudo systemctl restart your_project_name sudo systemctl stop your_project_name
通過以上步驟,你的Python項目已經(jīng)可以穩(wěn)定運行在服務(wù)器上了。
到此這篇關(guān)于Python項目打包部署到服務(wù)器的實現(xiàn)的文章就介紹到這了,更多相關(guān)Python項目打包部署到服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 實現(xiàn)讀取csv數(shù)據(jù),分類求和 再寫進 csv
這篇文章主要介紹了python 實現(xiàn)讀取csv數(shù)據(jù),分類求和 再寫進 csv,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05django與小程序?qū)崿F(xiàn)登錄驗證功能的示例代碼
這篇文章主要介紹了django與小程序?qū)崿F(xiàn)登錄驗證功能的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02Python使用Pexpect庫實現(xiàn)自動化與終端交互的任務(wù)
Pexpect 是一個 Python 庫,用于自動化與終端交互的任務(wù),它提供了一種簡單的方式來編寫腳本,以便與終端程序進行交互,下面我們就來深入了解一下Pexpect庫的具體使用吧2023-12-12python中的PywebIO模塊制作一個數(shù)據(jù)大屏
這篇文章主要介紹了python中的PywebIO模塊制作一個數(shù)據(jù)大屏,一個制作數(shù)據(jù)大屏的工具,非常的好用,100行的Python代碼就可以制作出來一個完整的數(shù)據(jù)大屏,并且代碼的邏輯非常容易理解,需要的朋友可以參考一下2022-03-03在Python下使用Txt2Html實現(xiàn)網(wǎng)頁過濾代理的教程
這篇文章主要介紹了在Python下使用Txt2Html實現(xiàn)網(wǎng)頁過濾代理的教程,來自IBM官方開發(fā)者技術(shù)文檔,需要的朋友可以參考下2015-04-04解決python字典對值(值為列表)賦值出現(xiàn)重復(fù)的問題
今天小編就為大家分享一篇解決python字典對值(值為列表)賦值出現(xiàn)重復(fù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python 實例方法、類方法、靜態(tài)方法的區(qū)別與作用
Python中至少有三種比較常見的方法類型,即實例方法,類方法、靜態(tài)方法。它們是如何定義的呢?如何調(diào)用的呢?它們又有何區(qū)別和作用呢?感興趣的朋友跟隨小編一起看看吧2019-08-08