python setup编译flask 服务成包并上传服务器docker compose启动

编译成包

python setup.py bdist_wheel

将包上传到生产服务器

./rsync2aws.sh

docker 启动服务

docker compose up -d --build

补充

setup.py
from setuptools import setup, find_packages

setup(
    name='chat_gpt_**',
    # 指定版本号
    version='1.1.1',
    # 这是对当前项目的一个描述
    description='chat_gpt项目',
    # 作者是谁,指的是此项目开发的人,这里就写你自己的名字即可
    author='openai',
    # 作者的邮箱
    author_email='openai@outlook.com',
    install_requires=["Flask", "Flask-Cors", "openai", "gunicorn", "PyMySQL", "numpy"],
    packages=find_packages(),
    include_package_data=True,
)

requirements.txt (setup.py 里面install_requires 的内容相关)

Flask==2.2.2
Flask-Cors==3.0.10
openai==0.27.2
gunicorn==20.1.0
PyMySQL==1.0.2
numpy==1.24.2

rsync2aws.sh

# ubuntu@***.***.***.***           ubuntu@后面是线上服务器的ip
rsync -avz --exclude="venv" --exclude=".git" --exclude="logs" --exclude=".idea" --exclude="__pycache__" --exclude="checkpoints" --exclude="pretrained_w" --exclude="tmp"  * ubuntu@***.***.***.***:/home/ubuntu/workshop/chat_gpt/

Dockerfile

# chat_gpt_**    ** 可以是flask服务端口号
FROM python:3.9

WORKDIR /app

COPY  dist/chat_gpt_**-1.1.1-py3-none-any.whl /app/chat_gpt_**-1.1.1-py3-none-any.whl

RUN pip install -U pip && pip install chat_gpt_**-1.1.1-py3-none-any.whl

RUN rm -rfv /app/chat_gpt_**-1.1.1-py3-none-any.whl

docker-compose.yml

version: "3.8"
services:
  chat_gpt:
    build: .
    image: chat_gpt:1.0.0
    restart: always
    command:
      - /bin/sh
      - -c
      - "gunicorn -t 120 -w 4 -b 0.0.0.0:98 'flaskr:app'"
    ports:
      - "98:98"
    environment:
      - PYTHONUNBUFFERED=1
    container_name: "chat_gpt"
    networks:
      - app_net
networks:
  app_net:

参考

flask Setuptools 部署
flask 部署产品
GitHub :chatgpt_serve

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值