必须拥有以下环境:
Python
3.12+MySQL
服务器uv
这是什么?
安装指定的 Python 版本:
uv python install
如果在 Linux 下,必须先安装前置的 MySQL 客户端依赖。
Debian / Ubuntu:
sudo apt-get install python3-dev default-libmysqlclient-dev build-essential pkg-config
Red Hat / CentOS:
sudo yum install python3-devel mysql-devel pkgconfig
安装项目依赖:
uv sync
如果安装依赖过慢希望指定 PyPI 镜像源,请添加 --index "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"
参数。
如果是在开发环境下需要运行测试代码,可以使用以下命令安装开发环境下的依赖:
uv sync --dev
修改Services/Config/config.toml.sample
中的相应配置信息并保存为config.toml
:
程序会检测数据库内是否是初次运行,如果没有则会自动创建数据库中的各表结构。
第一个注册的用户会被自动设置为管理员,但删除到最后一个用户时不会将其设置为管理员。
如果是调试 FastAPI 服务,可以使用以下命令:
uv run uvicorn main:app --reload
部署,推荐使用 Docker
来完成。
拉取仓库后,先在本地执行一次uv sync
创建依赖列表。
如果你希望使用后端和数据库一同被 Docker 托管,请修改docker-compose.yml
中的环境变量:
services:
web:
container_name: web
build:
context: .
dockerfile: Dockerfile
ports:
- "8000:8000"
depends_on:
- mysql_db
mysql_db:
image: mysql:8.0
container_name: mysql_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: password # 修改为自己的密码
MYSQL_DATABASE: shop_be # 修改为自己的数据库名
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
之后在 config.toml
中填入同样的信息即可。host
字段填入 mysql_db
。
如果希望后端连接外置数据库,直接删去docker-compose.yml
中的mysql_db
服务和依赖即可。