Centos 安裝 Python Flask 跑通 MNN 的記錄(無Docker版本)

  • 升級 python2.7.5 到 2.7.18
    • 1. 查看 centos 版本
    • 2. 查看 python 版本
    • 3. 下載 python 包
    • 4. 解壓 python 包
    • 5. 配置環境
    • 6. 編譯
    • 7. 備份老版本
    • 8. 鏈接新版本
    • 9. 修改yum 配置
    • 10. 安裝 pip
  • 安裝 Flask 環境
    • 1. 安裝 virtualenv
    • 2. 在你的python項目根目錄下創建虛擬環境
    • 3. 激活虛擬環境
    • 4. 安裝 Flask
  • 下載項目依賴庫
  • 啓動 Flask 服務
  • Python requirements.txt
  • 查看python啓動的服務

[TOC]

升級 python2.7.5 到 2.7.18

1. 查看 centos 版本

cat /etc/centos-release

2. 查看 python 版本

python -V

3. 下載 python 包

wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz

4. 解壓 python 包

tar -xvzf Python-2.7.18.tgz

5. 配置環境

yum install gcc* openssl openssl-devel ncurses-devel.x86_64 bzip2-devel sqlite-devel python-devel zlib -y

6. 編譯

cd Python-2.7.18
./configure --prefix=/usr/local
make
make altinstall

7. 備份老版本

mv /usr/bin/python /usr/bin/python2.7.5

8. 鏈接新版本

ln -s /usr/local/bin/python2.7 /usr/bin/python
python -V

9. 修改yum 配置

將文件首行的 #!/usr/bin/python 改爲 #!/usr/bin/python2.7.5

vim /usr/bin/yum
vim /usr/libexec/urlgrabber-ext-down

10. 安裝 pip

yum -y install python-pip

安裝 Flask 環境

1. 安裝 virtualenv

yum install -y python-virtualenv
如果失敗則:
wget https://files.pythonhosted.org/packages/33/bc/fa0b5347139cd9564f0d44ebd2b147ac97c36b2403943dbee8a25fd74012/virtualenv-16.0.0.tar.gz
tar zxvf virtualenv-16.0.0.tar.gz
cd virtualenv-16.0.0
python setup.py install

2. 在你的python項目根目錄下創建虛擬環境

python -m virtualenv venv

3. 激活虛擬環境

. venv/bin/activate

4. 安裝 Flask

pip install Flask

下載項目依賴庫

python -m pip install --upgrade pip
python -m pip install --upgrade setuptools
pip install cffi
pip install botocore==1.18.17
pip install Pillow
yun install python-qt4
pip install Cython
yum install openssl
pip install pyrsistent==0.16.1
pip install MNN==1.1.3
pip install pandas==0.24.2
pip install botocore==1.18.17
pip install MNNCV==0.1.12
pip install -r requirements.txt

如果報錯: ImportError: libSM.so.6: cannot open shared object file: No such file or directory 之類的說明缺少共享庫
查看缺少的什麼庫,並進行安裝:

yum whatprovides libSM.so.6
sudo yum install libSM-1.2.2-2.el7.x86_64 --setopt=protected_multilib=false

啓動 Flask 服務

#start.py
from flask import Flask

app = Flask(__name__) 

@app.route('/')
def hello():
    return 'hello docker&flask'

if __name__ == '__main__':
    app.run(debug=True)

pip install gunicorn gevent
在根目錄下新建文件 /gunicorn.conf.py

workers = 5    # 定義同時開啓的處理請求的進程數量,根據網站流量適當調整
worker_class = "gevent"   # 採用gevent庫,支持異步處理請求,提高吞吐量
bind = "0.0.0.0:80"

啓動:

gunicorn start:app -c gunicorn.conf.py

Python requirements.txt

導出:

pip freeze >requirements.txt

安裝依賴:

pip install -r requirement.txt

查看python啓動的服務

ps -ef| grep python

殺掉服務:

kill 28561

啓動服務的時候將log記錄到本地:

gunicorn start:app -c gunicorn.conf.py > log.log

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章