Python 全栈开发常用命令
一、环境管理与包管理
这是所有项目的起点,用于创建隔离的、可复现的开发环境。
命令 | 说明 | 常用场景 |
---|---|---|
python --version 或 python -V | 检查默认 Python 版本 | 确认基础环境 |
python -m venv myenv | 在当前目录创建名为 myenv 的虚拟环境 | Python 3.3+ 官方推荐 |
source myenv/bin/activate | Linux/macOS 激活虚拟环境 | 开始工作前 |
myenv\Scripts\activate | Windows 激活虚拟环境 | 开始工作前 |
deactivate | 退出当前虚拟环境 | 工作结束或切换环境时 |
pip install package_name | 安装最新的指定包 | 安装新依赖 |
pip install package_name==1.0.4 | 安装指定版本的包 | 版本控制 |
pip install -r requirements.txt | 根据 requirements.txt 安装所有依赖 | 克隆项目后,部署时 |
pip freeze > requirements.txt | 将当前环境的所有包导出到文件 | 项目完成后,提交依赖清单 |
pip list | 列出当前环境下已安装的所有包 | 查看环境状态 |
pip uninstall package_name | 卸载一个包 | 清理不需要的包 |
pip install --upgrade pip | 升级 pip 自身 | 保持包管理器最新 |
替代工具 (强烈推荐):
Poetry: 现代的项目管理和打包工具,能同时管理虚拟环境和依赖。
bash
poetry new my-project # 创建新项目 poetry install # 安装依赖(会自动创建虚拟环境) poetry add requests # 添加包 poetry shell # 进入虚拟环境shell
Conda: 更侧重于数据科学领域,但也可以用于一般的 Python 开发,能管理非Python依赖。
二、后端开发 (Django / Flask)
1. Django 常用命令
Django 提供了强大的命令行工具 manage.py
。
命令 | 说明 | 常用场景 |
---|---|---|
django-admin startproject myproject | 创建一个新的 Django 项目 | 开始一个新项目 |
python manage.py runserver | 启动开发服务器(默认 127.0.0.1:8000) | 本地开发调试 |
python manage.py runserver 0.0.0.0:8000 | 启动服务器,允许局域网访问 | 手机测试等 |
python manage.py startapp myapp | 在项目中创建一个新的应用(app) | 项目模块化 |
python manage.py makemigrations | 根据模型变更生成迁移文件 | 修改 models.py 后 |
python manage.py migrate | 应用迁移文件到数据库(创建表结构) | 首次运行或模型变更后 |
python manage.py createsuperuser | 创建超级管理员账号 | 首次需要访问 admin 后台时 |
python manage.py shell | 启动带 Django 环境的 Python shell | 调试和测试模型操作 |
python manage.py test | 运行项目测试用例 | 保证代码质量 |
python manage.py collectstatic | 收集所有静态文件到 STATIC_ROOT | 部署生产环境前 |
2. Flask 常用命令
Flask 本身命令较少,更多依赖第三方扩展(如 Flask-Script,但现在更推荐使用内建的 click
)。
命令 | 说明 |
---|---|
export FLASK_APP=app.py (Linux/macOS)set FLASK_APP=app.py (Windows) | 设置启动文件 |
export FLASK_ENV=development (Linux/macOS)set FLASK_ENV=development (Windows) | 设置开发环境(开启调试模式) |
flask run | 启动开发服务器 |
flask run --host=0.0.0.0 | 启动服务器,允许局域网访问 |
三、前端开发 (常见工具链)
现代前端开发严重依赖 Node.js 和其包管理器 npm/yarn。
命令 | 说明 | 常用场景 |
---|---|---|
npm init | 初始化项目,创建 package.json 文件 | 开始一个前端项目 |
npm install | 根据 package.json 安装所有依赖 | 克隆项目后 |
npm install package_name | 安装包到 dependencies | 安装项目运行时依赖(如React, Vue) |
npm install -D package_name | 安装包到 devDependencies | 安装开发工具(如webpack, eslint) |
npm run script_name | 运行在 package.json 中定义的脚本 | npm run dev , npm run build |
npx create-react-app my-app | 使用 create-react-app 脚手架创建 React 项目 | 快速开始 React 项目 |
npx @vue/cli create my-project | 使用 Vue CLI 脚手架创建 Vue 项目 | 快速开始 Vue 项目 |
npm run build | (通常)构建生产环境的静态文件 | 部署前,生成 dist/ 或 build/ 目录 |
四、数据库
1. PostgreSQL (常用与Django高级项目)
命令 | 说明 |
---|---|
sudo -u postgres psql | 以 postgres 用户身份进入 psql 命令行 |
\l | 列出所有数据库 |
\c database_name | 切换到一个数据库 |
\dt | 列出当前数据库的所有表 |
\d table_name | 查看表结构 |
\q | 退出 psql |
2. MySQL
命令 | 说明 |
---|---|
mysql -u root -p | 使用 root 用户登录 MySQL |
SHOW DATABASES; | 显示所有数据库 |
USE database_name; | 使用某个数据库 |
SHOW TABLES; | 显示当前数据库的所有表 |
DESCRIBE table_name; | 描述表结构 |
EXIT | 退出 |
五、版本控制 (Git)
这是协同开发的基石,必须熟练掌握。
命令 | 说明 | 常用场景 |
---|---|---|
git init | 初始化本地仓库 | 开始用git管理一个新项目 |
git clone [url] | 克隆远程仓库到本地 | 获取已有项目代码 |
git status | 查看当前仓库状态(修改、未跟踪文件) | 最常用的命令,查看改了啥 |
git add [file] | 添加文件到暂存区 | git add . 添加所有变化 |
git commit -m "message" | 提交暂存区的文件到本地仓库 | 创建一个版本记录 |
git push [alias] [branch] | 推送本地提交到远程仓库 | git push origin main |
git pull | 拉取远程更新并合并到本地 | 开始工作前,同步最新代码 |
git checkout -b [branch-name] | 创建并切换到一个新分支 | 开始开发新功能/修复bug |
git merge [branch] | 合并指定分支到当前分支 | 功能完成后的合并操作 |
git log | 查看提交历史 | 回顾变更记录 |
六、部署与服务器 (Linux / Nginx)
项目开发完成后,需要部署到服务器。
命令 | 说明 | 常用场景 | |
---|---|---|---|
ssh user@server_ip | 通过 SSH 连接远程服务器 | 远程管理服务器 | |
scp local_file user@server_ip:remote_path | 本地文件复制到服务器 | 上传代码或配置文件 | |
sudo systemctl start nginx | 启动 Nginx | Web服务器管理 | |
sudo systemctl stop nginx | 停止 Nginx | ||
sudo systemctl restart nginx | 重启 Nginx | 修改配置后 | |
sudo systemctl status nginx | 查看 Nginx 状态 | 检查是否正常运行 | |
sudo nano /etc/nginx/sites-available/myapp | 编辑 Nginx 配置文件 | 配置反向代理、静态文件等 | |
`ps aux | grep python` | 查看所有 Python 进程 | 检查后台服务是否运行 |
kill -9 [pid] | 强制结束指定 PID 的进程 | 杀掉出问题的进程 |
WSGI 服务器启动命令 (生产环境)
Gunicorn (常用):
gunicorn --workers 3 --bind 0.0.0.0:8000 myproject.wsgi:application
uWSGI:
uwsgi --http :8000 --module myproject.wsgi
总结:一个典型的全栈工作流可能用到的命令
初始化项目:
mkdir my_fullstack_app && cd my_fullstack_app python -m venv venv source venv/bin/activate # Linux/macOS pip install django django-admin startproject backend . cd frontend && npm init -y && npm install webpack vue --save-dev
日常开发:
# 终端1:运行后端API source venv/bin/activate python manage.py runserver# 终端2:运行前端开发服务器 cd frontend npm run dev# 终端3:版本控制 git status git add . git commit -m "Added user authentication feature" git push origin feature-branch
部署上线:
# 构建前端静态文件 npm run build# 收集Django静态文件 python manage.py collectstatic# 上传代码到服务器 scp -r . user@myserver:/app/# 在服务器上重启服务 sudo systemctl restart gunicorn sudo systemctl restart nginx