最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

最近用Python寫了個外掛,需要部署到Linux環(huán)境的服務(wù)器上,由于之前本地開發(fā)時(shí)使用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ù)啟動時(shí)執(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)文章

  • Python設(shè)計(jì)模式中的備忘錄模式

    Python設(shè)計(jì)模式中的備忘錄模式

    這篇文章主要為大家詳細(xì)介紹了Python設(shè)計(jì)模式中的備忘錄模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Python實(shí)現(xiàn)感知器模型、兩層神經(jīng)網(wǎng)絡(luò)

    Python實(shí)現(xiàn)感知器模型、兩層神經(jīng)網(wǎng)絡(luò)

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)感知器模型、兩層神經(jīng)網(wǎng)絡(luò),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python中os.path模塊的8個神奇函數(shù)分享

    Python中os.path模塊的8個神奇函數(shù)分享

    在Python編程中,os.path模塊是一個非常重要的模塊,它提供了用于處理文件路徑和目錄的函數(shù),本文將介紹os.path模塊中最常用的8個內(nèi)置函數(shù),需要的可以參考下
    2023-11-11
  • Python中使用封裝類還是函數(shù)以及它們的區(qū)別

    Python中使用封裝類還是函數(shù)以及它們的區(qū)別

    在Python編程中,類和函數(shù)都是重要的代碼組織工具,但它們在封裝性、狀態(tài)保持、可重用性、繼承與多態(tài)、設(shè)計(jì)模式、代碼組織、執(zhí)行流程、參數(shù)傳遞、返回值和上下文管理等方面存在明顯區(qū)別
    2024-10-10
  • Python爬取雪中悍刀行彈幕分析并可視化詳程

    Python爬取雪中悍刀行彈幕分析并可視化詳程

    這篇文章主要介紹了用Python爬蟲+數(shù)據(jù)分析+數(shù)據(jù)可視化,分析《雪中悍刀行》彈幕,本文很適合初學(xué)python的同學(xué)入門閱讀,需要的朋友可以參考下
    2022-01-01
  • 用python實(shí)現(xiàn)學(xué)生管理系統(tǒng)

    用python實(shí)現(xiàn)學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了用python實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • python 函數(shù)的詳解與應(yīng)用范例

    python 函數(shù)的詳解與應(yīng)用范例

    函數(shù)是組織好的,可重復(fù)使用的,用來實(shí)現(xiàn)單一,或相關(guān)聯(lián)功能的代碼段。函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率。你已經(jīng)知道Python提供了許多內(nèi)建函數(shù),比如print()。但你也可以自己創(chuàng)建函數(shù),這被叫做用戶自定義函數(shù)
    2021-11-11
  • python字典序問題實(shí)例

    python字典序問題實(shí)例

    這篇文章主要介紹了python字典序問題,是字符串操作一個比較典型的應(yīng)用,需要的朋友可以參考下
    2014-09-09
  • Python內(nèi)置加密模塊用法解析

    Python內(nèi)置加密模塊用法解析

    這篇文章主要介紹了Python內(nèi)置加密模塊用法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Python編程之基于概率論的分類方法:樸素貝葉斯

    Python編程之基于概率論的分類方法:樸素貝葉斯

    這篇文章主要介紹了Python編程之基于概率論的分類方法:樸素貝葉斯,簡單介紹了其概述,貝葉斯理論和條件概率,以及樸素貝葉斯的原理等相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11

最新評論

阿克| 汶川县| 云龙县| 喀喇沁旗| 桐城市| 怀仁县| 滦南县| 马关县| 临澧县| 景泰县| 平泉县| 日照市| 黄浦区| 遵化市| 塔河县| 阆中市| 获嘉县| 河间市| 石狮市| 盐亭县| 江川县| 甘洛县| 安岳县| 平远县| 辽阳市| 应用必备| 彭泽县| 辉南县| 时尚| 芷江| 西盟| 海淀区| 余庆县| 沂源县| 巍山| 资源县| 通城县| 灌阳县| 永修县| 泾阳县| 大洼县|