安装chocolatey

https://blog.csdn.net/xutongbao/article/details/120743540

安装make

choco install make

使用make启动python项目

Makefile

.PHONY: dev start prod test clean install

# 开发环境启动(支持热重载)
dev:
	@set PYTHONIOENCODING=utf-8 && set ENV=development && poetry run uvicorn app:app --reload --host 0.0.0.0 --port 5000

# 生产环境启动
prod:
	@set ENV=production && poetry run python app.py

# 启动(生产环境)
start: prod

# 运行测试
test:
	@poetry run pytest

# 清理缓存
clean:
	@poetry run python -c "import redis; redis.Redis(host='127.0.0.1', port=6379).flushdb(); print('Redis缓存已清除')"
	@echo 清理Python缓存...
	@for /d /r . %%d in (__pycache__) do @if exist "%%d" rd /s /q "%%d"
	@for /r . %%f in (*.pyc) do @if exist "%%f" del /q "%%f"

# 安装依赖
install:
	@poetry install

# 查看帮助
help:
	@echo 可用命令:
	@echo   make dev      - 开发环境启动(支持热重载)
	@echo   make prod     - 生产环境启动
	@echo   make test     - 运行测试
	@echo   make clean    - 清理缓存
	@echo   make install  - 安装依赖

安装task

choco install go-task

使用task启动

Taskfile.yml

version: '3'

vars:
  PYTHON: poetry run python
  UVICORN: poetry run uvicorn

tasks:
  dev:
    desc: 启动开发服务器(支持热重载)
    cmds:
      - cmd /c "set PYTHONIOENCODING=utf-8 && set ENV=development && {{.UVICORN}} app:app --reload --host 0.0.0.0 --port 5000"

  prod:
    desc: 启动生产服务器
    cmds:
      - cmd /c "set ENV=production && {{.PYTHON}} app.py"

  start:
    desc: 启动服务(生产环境)
    cmds:
      - task: prod

  install:
    desc: 安装依赖
    cmds:
      - poetry install

  clean:
    desc: 清理缓存
    cmds:
      - redis-cli FLUSHDB
      - echo "Redis缓存已清除"

  test:
    desc: 运行测试
    cmds:
      - poetry run pytest

  help:
    desc: 显示帮助信息
    cmds:
      - task --list

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐