欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何把python項(xiàng)目部署到linux服務(wù)器

 更新時間:2020年08月26日 08:33:47   作者:大牛等等我  
這篇文章主要介紹了如何把python項(xiàng)目部署到linux服務(wù)器,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

最近用Python寫了個外掛,需要部署到Linux環(huán)境的服務(wù)器上,由于之前本地開發(fā)時使用virtualenv,使用這個虛擬環(huán)境有個好處是項(xiàng)目中依賴的庫不會是全局的,只在當(dāng)前項(xiàng)目的目錄下有效,因?yàn)槲沂荕ac系統(tǒng),virtualenv環(huán)境下的庫文件和linux上所需要的庫不通用,所以不能簡單的將整個env拷貝到服務(wù)器運(yùn)行,需要做一些額外的工作。

一般每個不同的項(xiàng)目都會依賴各自的庫,有些庫的版本不一樣會引起沖突,為了解決這個問題,需要使用虛擬環(huán)境,Python可以在每個項(xiàng)目目錄下創(chuàng)建各自的虛擬環(huán)境,項(xiàng)目所依賴的包就在環(huán)境目錄下,這樣避免了庫版本的沖突,也方便相同操作系統(tǒng)間可以快速的拷貝項(xiàng)目運(yùn)行。

我使用的是Python3編寫的項(xiàng)目,CentOS 7的服務(wù)器上只有Python2,所以需要先安裝一下Python3的環(huán)境

第一步:安裝Python3環(huán)境
1.首先安裝編譯環(huán)境(后續(xù)需要從python官網(wǎng)獲取Python3的源碼自己編譯python)

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

2.從官網(wǎng)下載python3的源碼

wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

3.依次執(zhí)行 解壓>進(jìn)入解壓后的目錄>編譯安裝

tar -xvJf Python-3.6.2.tar.xz
cd Python-3.6.2
./configure prefix=/usr/local/python3
make && make install

4.安裝完畢,創(chuàng)建軟連接

ln -s /usr/local/python3/bin/python3 /usr/bin/python
# 執(zhí)行命令
python -V #將會看到python3的版本
# 執(zhí)行命令
python2 -V #將會看到python2的版本

5.后續(xù)工作,由于執(zhí)行CentOS的yum命令需要使用自帶的python2的版本,所以需要做兩處修改

vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down
#將 這兩個文件的 #! /usr/bin/python修改為 #! /usr/bin/python2

第二步:將本地開發(fā)環(huán)境的依賴項(xiàng)目生成清單文件
1.在本地的開發(fā)環(huán)境中,env下執(zhí)行:

pip3 freeze >requirements.txt

清單文件將會生成在當(dāng)前項(xiàng)目目錄下,內(nèi)容如下所示

certifi==2018.4.16
chardet==3.0.4
idna==2.7
requests==2.19.1
urllib3==1.23

將生成后的文件上傳到linux服務(wù)器

2.將Python項(xiàng)目上傳到服務(wù)器

第三步:在linux服務(wù)器上為項(xiàng)目創(chuàng)建虛擬環(huán)境,并安裝項(xiàng)目所需的依賴
1.切換到pip3所在的目錄 /usr/local/python/bin,執(zhí)行以下命令

# 安裝虛擬環(huán)境
pip3 install virtualenv

# 創(chuàng)建虛擬環(huán)境 ENV
virtualenv ENV

# 切換到虛擬環(huán)境所在的目錄
cd ENV

# 啟用虛擬環(huán)境
source ./bin/activate

# 安裝依賴清單里的庫
pip3 install -r requirements.txt

# 列出當(dāng)前虛擬環(huán)境所安裝的依賴庫
pip3 list

第四步:添加自定義系統(tǒng)服務(wù)(很重要)

# 這樣的命令在ssh終端退出后,python進(jìn)程也會被殺掉
python xxx.py &

需要創(chuàng)建一個自定義的系統(tǒng)服務(wù),來保證python程序能夠在后臺運(yùn)行。

1.創(chuàng)建系統(tǒng)服務(wù)

vim /usr/lib/systemd/system/robot.service

內(nèi)容如下:

[Unit]
Description=robot
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/python3/bin/ENV/bin/python /usr/local/python3/bin/ENV/p3.py &
PrivateTmp=true

[Install]
WantedBy=multi-user.target

ExecStart為服務(wù)啟動時執(zhí)行的命令,不能用相對路徑, 一定要全路徑。
這里也可以將命令寫到任意的.sh文件中,這里寫.sh文件的全路徑也是可以的。

2.啟用自定義系統(tǒng)服務(wù)

systemctl enable robot

3.啟動服務(wù)

systemctl start robot

可以查看進(jìn)程,確認(rèn)一下服務(wù)是否啟動

ps aux|grep robot

完畢!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Pysvn 使用指南

    Pysvn 使用指南

    本文主要介紹了Pysvn 使用指南,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 用python做游戲的細(xì)節(jié)詳解

    用python做游戲的細(xì)節(jié)詳解

    在本篇內(nèi)容里小編給大家分享的是關(guān)于python做游戲的細(xì)節(jié)相關(guān)知識點(diǎn)內(nèi)容,有需要的朋友們跟著學(xué)習(xí)下。
    2019-06-06
  • python 代碼運(yùn)行時間獲取方式詳解

    python 代碼運(yùn)行時間獲取方式詳解

    這篇文章主要介紹了python 代碼運(yùn)行時間獲取方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • 使用Python實(shí)現(xiàn)微信提醒備忘錄功能

    使用Python實(shí)現(xiàn)微信提醒備忘錄功能

    最近工作比較繁雜,經(jīng)常忘事,有時候記了備忘錄結(jié)果卻忘記看備忘錄,但是微信是每天都會看的,于是就想到寫 一個基于微信的提醒系統(tǒng)。這篇文章主要介紹了使用Python實(shí)現(xiàn)微信提醒備忘錄功能,需要的朋友可以參考下
    2018-12-12
  • pytest+request框架中yaml配置文件使用

    pytest+request框架中yaml配置文件使用

    pytest+request框架寫接口測試自動化,使用yaml文件配置更方便管理用例中的數(shù)據(jù),本文主要介紹了pytest+request框架中yaml配置文件使用,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • Python中使用asyncio 封裝文件讀寫

    Python中使用asyncio 封裝文件讀寫

    本文主要給大家簡單講解如何用 asyncio.Future 對象來封裝文件的異步讀寫。有需要的小伙伴可以參考下
    2016-09-09
  • ITK 實(shí)現(xiàn)多張圖像轉(zhuǎn)成單個nii.gz或mha文件案例

    ITK 實(shí)現(xiàn)多張圖像轉(zhuǎn)成單個nii.gz或mha文件案例

    這篇文章主要介紹了ITK 實(shí)現(xiàn)多張圖像轉(zhuǎn)成單個nii.gz或mha文件案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • python 已知平行四邊形三個點(diǎn),求第四個點(diǎn)的案例

    python 已知平行四邊形三個點(diǎn),求第四個點(diǎn)的案例

    這篇文章主要介紹了python 已知平行四邊形三個點(diǎn),求第四個點(diǎn)的案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • tensorflow輸出權(quán)重值和偏差的方法

    tensorflow輸出權(quán)重值和偏差的方法

    本篇文章主要介紹了tensorflow輸出權(quán)重值和偏差的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 一篇文章搞懂python混亂的切換操作與優(yōu)雅的推導(dǎo)式

    一篇文章搞懂python混亂的切換操作與優(yōu)雅的推導(dǎo)式

    這篇文章主要給大家介紹了如何通過一篇文章搞懂python混亂的切換操作與優(yōu)雅的推導(dǎo)式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2021-08-08

最新評論