Python項目打包部署到服務(wù)器的實現(xiàn)
一、準(zhǔ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. 打包項目
在命令行中,進(jìn)入項目根目錄,執(zhí)行以下命令進(jìn)行打包:
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)文章
django之對django內(nèi)置的User模型進(jìn)行自定義擴(kuò)展方式
這篇文章主要介紹了django之對django內(nèi)置的User模型進(jìn)行自定義擴(kuò)展方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
python pygame實現(xiàn)滾動橫版射擊游戲城市之戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了python pygame實現(xiàn)滾動橫版射擊游戲城市之戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11
Python使用__slots__優(yōu)化內(nèi)存的實戰(zhàn)指南
在構(gòu)建百萬對象級別的實時風(fēng)控系統(tǒng)時,內(nèi)存占用往往成為瓶頸,__slots__ 作為 Python 類定義中的一項機(jī)制能否有效壓縮內(nèi)存,下面小編就和大家詳細(xì)介紹一下吧2026-04-04
優(yōu)化IntelliJ IDEA對Python的提示功能方式
本文主要介紹了IntelliJ IDEA對Python代碼提示不友好、開發(fā)效率低的問題,并提供了一系列優(yōu)化方案,包括正確配置Python解釋器、安裝Python插件、同步項目索引、檢查代碼規(guī)范、更新IDEA版本等2026-05-05

