conda 环境中部署gunicorn+flask项目

本文档记录了在Python3.5系统环境中,如何使用conda创建Python3.6的虚拟环境,并在其中安装PyTorch、ONNXRuntime等库。过程中遇到了ONNXRuntime与CUDA版本不匹配的问题,通过检查CUDA版本并调整ONNXRuntime版本解决了问题。此外,还解决了gunicorn在虚拟环境下不能通过配置文件启动的问题,需修改work_class。同时,对于可能出现的Pillow和Numpy版本错误,给出了具体解决方案。

系统环境中安装的是Python3.5,项目中需要的Python为3.6及以上的环境,所以用conda虚拟环境进行隔离。

conda

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

项目搭建

进入虚拟环境,安装所需要的包。

sh Miniconda3-py37_4.11.0-Linux-x86_64.sh
source ~/.bashrc
conda config --set auto_activate_base false
#创建虚拟环境
conda create -n pytorch python=3.6
#进入虚拟环境
conda activate pytorch
#从清华源下载安装pytorch
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda install -n pytorch pytorch torchvision cudatoolkit=10.0 
#工程需要的库用conda安装会失败,所以用的pip进行安装
#安装insightface,可以用pip安装或者python3.6 -m pip install 来安装
pip install insightface
#安装pymatting
pip install pymatting
#安装onnxruntime,onnxruntime和cuda需要版本对应,cuda10.0对应onnxruntime1.0或1.1
pip install onnxruntime-gpu==1.0 
#项目搭建依赖的库用conda就可以
#安装gunicorn
conda install gunicorn
#安装flask
conda install flask
conda install gevent
#gunicorn启动项目
gunicorn -c config.py flask_matting:app

问题

onnxruntime和cuda版本不匹配问题

  • 问题
    onnxruntime与cuda版本不匹配,可能出现的问题。

Conda是一个开源的包管理器和环境管理工具,它主要用于创建、管理和隔离Python项目所需的依赖环境。如果你想使用Conda部署Gunicorn(一个高性能的WSGI服务器)和Flask(轻量级Web应用框架),可以按照以下步骤操作: 1. **安装Miniconda**:如果你还没有安装,首先需要从官方下载并安装Miniconda,因为它是轻量级版本的conda。 - 下载地址:https://docs.conda.io/en/latest/miniconda.html 2. **创建新的conda环境**: ```bash conda create --name my_flask_app python=3.x # 根据实际需要选择Python版本 ``` 这将创建一个名为`my_flask_app`的新环境,并安装指定版本的Python。 3. **激活新环境**: ```bash conda activate my_flask_app ``` 4. **安装所需库**: - Gunicorn:`conda install gunicorn` - Flask:由于Conda默认不会自动安装Flask,你需要手动添加`flask`到环境: ```bash conda install flask ``` 5. **安装Flask应用所需的其他依赖**(如果有的话,比如数据库驱动等): ```bash conda install pymysql (或其他数据库驱动) ``` 6. **创建Flask应用**: 创建一个简单的Flask应用,例如`app.py`: ```python from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' ``` 7. **启动Gunicorn**: 使用`gunicorn`命令行工具运行Flask应用,通常会配合WSGI入口文件`wsgi.py`,假设你的应用结构如下: ``` my_flask_app/ |- app.py |- wsgi.py ``` ```bash gunicorn --workers 2 --bind :8000 wsgi:app ``` `-workers`选项设置工作进程数,`:8000`表示监听8000端口。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值