Debian Python应用怎么开发
导读:Debian 上 Python 应用开发实战指南 一 环境准备与工具 更新系统并安装基础工具:sudo apt update && sudo apt upgrade;安装 Python 3、pip 与 venv:sudo...
Debian 上 Python 应用开发实战指南
一 环境准备与工具
- 更新系统并安装基础工具:sudo apt update & & sudo apt upgrade;安装 Python 3、pip 与 venv:sudo apt install python3 python3-pip python3-venv;验证版本:python3 --version、pip3 --version。为编译部分本地包,建议安装构建依赖:sudo apt install python3-dev build-essential。可选:安装 Git 与编辑器/IDE(如 VS Code、PyCharm)。
二 项目初始化与依赖管理
- 创建项目目录并进入:mkdir myproj & & cd myproj;初始化虚拟环境:python3 -m venv .venv & & source .venv/bin/activate;升级 pip:pip install -U pip;安装依赖:pip install flask fastapi uvicorn(示例用);生成依赖清单:pip freeze > requirements.txt;退出虚拟环境:deactivate。建议始终在虚拟环境中开发,避免污染系统包。
三 编写与运行示例服务
- 选择其一运行示例服务(均在虚拟环境内):
- Flask 最小示例:创建 app.py from flask import Flask app = Flask(name) @app.route(“/”) def hello(): return “Hello, Flask on Debian” if name == “main”: app.run(host=“0.0.0.0”, port=5000) 运行:python app.py;测试:curl http://127.0.0.1:5000
- FastAPI 最小示例:创建 main.py from fastapi import FastAPI app = FastAPI() @app.get(“/”) def read_root(): return { “message”: “Hello, FastAPI”} 运行:uvicorn main:app --host 0.0.0.0 --port 8000;测试:curl http://127.0.0.1:8000。
四 测试与调试
- 单元测试:使用内置 unittest 或 pytest。示例(pytest):创建 test_app.py def test_hello(): assert “Flask” in “Hello, Flask” 运行:pytest -q。调试:使用 pdb(import pdb; pdb.set_trace())、增强 REPL IPython,或在 VS Code/PyCharm 中图形化断点调试。版本控制:git init、git add .、git commit -m “init”。
五 生产部署与运维
- 应用服务器:WSGI 用 Gunicorn(Flask/FastAPI 均可用);ASGI 用 Uvicorn(FastAPI 推荐)。示例:Gunicorn 启动 Flask:gunicorn -w 4 -b 127.0.0.1:8000 app:app;Uvicorn 启动 FastAPI:uvicorn main:app --host 127.0.0.1 --port 8000 --workers 4。反向代理与静态资源:安装 Nginx,配置 /etc/nginx/sites-available/myapp server { listen 80; server_name your_domain_or_ip; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } 启用站点:sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled & & sudo nginx -t & & sudo systemctl restart nginx。进程守护:创建 systemd 服务 /etc/systemd/system/myapp.service [Unit] Description=gunicorn daemon for myapp After=network.target [Service] User=www-data Group=www-data WorkingDirectory=/path/to/myproj ExecStart=/path/to/myproj/.venv/bin/gunicorn -c /path/to/myproj/gunicorn_config.py app:app [Install] WantedBy=multi-user.target 启动:sudo systemctl daemon-reload & & sudo systemctl start myapp & & sudo systemctl enable myapp。证书与加固:使用 Certbot 获取 HTTPS:sudo apt install certbot python3-certbot-nginx & & sudo certbot --nginx -d your_domain;按需配置防火墙(如 UFW)、日志轮转与监控(如 Prometheus + Grafana)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian Python应用怎么开发
本文地址: https://pptw.com/jishu/771606.html
