ubantu18 python3.7 uwsgi flask 运行环境

 ubantu18 python3.7 uwsgi flask 运行环境

sudo apt update
sudo apt upgrade -y

 安裝必要的包

sudo apt install build-essential -y
sudo apt install libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libbz2-dev -y
sudo apt-get install zlib1g-dev
#python3安装pandas库出现Could not import the lzma module.
sudo apt-get install lzma-dev
sudo apt-get install liblzma-dev

 安裝python3.7

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

tar -xzvf Python-3.7.7.tgz
cd Python-3.7.7
sudo ./configure --enable-optimizations
#sudo ./configure --prefix=/usr/local/python3.7 --enable-optimizations
sudo make
sudo make install


#如果需要重新安裝,请执行下部命令,在执行上部分命令
#make distclean

 更新pip

pip3 install --upgrade pip

替换系统python 软连接

ln -sb /usr/local/bin/python3 /usr/bin/python3
ln -sb /usr/local/bin/pip3 /usr/bin/pip3
ln -sb /usr/local/bin/pip /usr/bin/pip

或
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3



python -V

 问题:subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.

find / -name lsb_release
rm -rf /usr/bin/lsb_release

安装虚拟环境

pip install virtualenv

创建目录
mkdir Myproject
cd Myproject

创建纯净的独立运行环境venv3,安装python3,在Myproject下生成venv3文件夹
virtualenv --python=python3  venv3

进入虚拟环境(venv)Myproject
source venv3/bin/activate

安装第三方包
pip install flask==1.1.2
#此时pip的包都会安装到venv环境下,venv是针对Myproject创建的

退出venv3环境
deactivate

导入依赖包

#导出
pip freeze > requirements.txt
#导入
pip install -r requirements.txt

uwsgi配置

pip install uwsgi --no-cache-dir
#检查uwsgi版本
uwsgi --version
#检查uwsgi python版本
uwsgi --python-version

 创建uwsgiconfig.ini

放到项目下

[uwsgi]
base = /opt/app/my_project/
chdir = %(base)
virtualenv = %(base)venv3/
http = :5008
wsgi-file = app.py
module = app
file = app.py
callable = app
master = false
processes = 1
threads = 2
daemonize = %(base)logs/server.log
log-truncate = true
disable-logging = true
need-app = true
pcre-jit = true
buffer-size = 32768
py-autoreload = 1
vacuum = true
pidfile = %(base)uwsgi.pid
reload-mercy = 8
harakiri = 60
uid = test
gid = test

启动uwsgi

#### 启动
uwsgi -d --ini uwsgiconfig.ini
#### 重启:
uwsgi --reload uwsgi.pid
#### 停止:
uwsgi --stop uwsgi.pid

1.测试是否启动
netstat -ntpl
2.查看进程号
ps aux | grep uwsgi
cat /opt/app/my_project/uwsgi.pid
3.杀死进程
kill -9 81392


问题:

  ModuleNotFoundError: No module named  bz2

  ModuleNotFoundError: No module named '_lzma'

apt-get install libbz2-dev
##### 重新编译python
export CFLAGS="-I/usr/include"
export LDFLAGS="-L/usr/lib64"
export LD_LIBRARY_PATH=/usr/lib64

make distclean
sudo ./configure --enable-optimizations
sudo make
sudo make install
###或者
sudo ./configure --prefix=/usr/local/python3.7 --enable-optimizations
sudo make
sudo make install

 单独启动flask

python3 -m flask run --host=192.168.120.1 --port=5001

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值