2、开发环境搭建:Python虚拟环境配置、Flask框架安装、VS Code配置、Git与GitHub仓库初始化

好,咱们正式开始动手了。

这一章,说白了就是给你的电脑「装上武器」。没有趁手的工具,再牛的项目也跑不起来。我见过太多新手,代码写了一半,发现环境冲突,最后重装系统——嗯,那种痛,我懂。

2.1 Python虚拟环境:为什么必须用?

先问一个问题:你电脑上是不是已经装了好几个Python项目?有的用Django 2.x,有的用Flask 1.x,还有的用TensorFlow?

如果所有依赖都装到全局,那叫「大乱炖」。今天装个包把另一个项目搞崩了,明天升级Python版本,老项目直接罢工。我早期做嵌入式上位机时,就吃过这个亏——一个串口调试工具因为全局装了新版pyserial,导致旧版协议解析全乱套。

虚拟环境就是给每个项目一个独立的「小房间」。 互不干扰,干净清爽。

核心原则: 每个项目,一个虚拟环境。不要偷懒共用。

2.1.1 创建虚拟环境

打开终端,进入你的项目根目录。比如我的项目叫 embedded_pms

mkdir embedded_pms
cd embedded_pms
python -m venv venv

这条命令会在当前目录下生成一个 venv 文件夹。里面就是独立的Python解释器和pip。

小技巧: 我习惯把虚拟环境命名为 venv,这样一眼就能认出来。而且很多IDE默认会识别这个名字,自动激活。

2.1.2 激活虚拟环境

不同系统命令不一样,别搞混了:

操作系统 激活命令
Windows (CMD) venv\Scripts\activate
Windows (PowerShell) venv\Scripts\Activate.ps1
macOS / Linux source venv/bin/activate

激活成功后,终端前面会出现 (venv) 字样。看到这个括号,就说明你已经在虚拟环境里了。

注意: 如果你用VS Code的终端,记得先激活虚拟环境再装包。我曾经遇到过有人直接在全局pip install,结果项目跑不起来——查了半天,发现包装错地方了。

2.2 Flask框架安装:轻量级Web框架

Flask是我个人非常喜欢的一个框架。它不像Django那么「重」,但该有的功能一个不少。对于嵌入式项目管理系统来说,Flask的灵活性和扩展性刚刚好。

激活虚拟环境后,直接装:

pip install flask

装完之后,验证一下:

python -c "import flask; print(flask.__version__)"

如果输出版本号,比如 2.3.2,那就成功了。

避坑指南: 我曾经在Windows上装Flask,结果报错说找不到 flask 命令。后来发现是虚拟环境没激活,pip装到了全局。记住:先激活,再安装。

2.2.1 创建第一个Flask应用

在项目根目录下新建一个 app.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, 嵌入式项目管理系统!'

if __name__ == '__main__':
    app.run(debug=True)

运行它:

python app.py

打开浏览器,访问 http://127.0.0.1:5000。看到那句话了吗?恭喜,你的第一个Flask应用跑起来了。

个人经验: debug=True 这个参数在开发阶段非常有用。改了代码,服务器自动重启,不用手动关掉再开。但生产环境一定要关掉,否则会暴露敏感信息。

2.3 VS Code配置:让写代码更舒服

编辑器这东西,用顺了就是生产力。VS Code是我目前的主力,免费、插件丰富、对Python支持好。

2.3.1 必装插件

打开VS Code,点击左侧扩展图标(或者按 Ctrl+Shift+X),搜索并安装:

  • Python(微软官方)——语法高亮、智能提示、调试
  • Pylance——更快的代码补全和类型检查
  • GitLens——在代码行内显示Git提交信息
  • Prettier——代码格式化

我的习惯: 装完插件后,按 Ctrl+Shift+P,输入 Python: Select Interpreter,选择你刚才创建的虚拟环境。这样VS Code就知道用哪个Python了。

2.3.2 工作区设置

在项目根目录下创建 .vscode 文件夹,里面放 settings.json

{
    "python.pythonPath": "venv/bin/python",
    "python.linting.enabled": true,
    "python.linting.pylintEnabled": true,
    "editor.formatOnSave": true,
    "files.exclude": {
        "**/__pycache__": true,
        "**/.git": true
    }
}

这样每次保存代码,都会自动格式化。而且 __pycache__ 这种临时文件不会出现在文件列表里,看着清爽。

注意: Windows用户要把 python.pythonPath 改成 venv\Scripts\python.exe。路径别写错了,否则VS Code会找不到解释器。

2.4 Git与GitHub仓库初始化:版本控制从这里开始

没有Git的项目,就像没有刹车的车——你敢开吗?

我见过太多人,代码写到一半,想回退到昨天的版本,结果只能靠「Ctrl+Z」或者手动备份文件夹。嗯,那种方式,迟早会出事。

2.4.1 初始化本地仓库

在项目根目录下:

git init

这条命令会创建一个 .git 文件夹。别动它,那是Git的「大脑」。

2.4.2 创建 .gitignore 文件

有些文件不需要提交到Git仓库,比如虚拟环境、编译产物、配置文件里的密码。在项目根目录下创建 .gitignore

venv/
__pycache__/
*.pyc
.vscode/
*.db
.env

避坑指南: 我曾经把 venv 提交到了GitHub,结果仓库体积直接飙到100MB。而且别人克隆下来,虚拟环境路径不一样,根本用不了。记住:虚拟环境永远不要提交。

2.4.3 第一次提交

git add .
git commit -m "初始化项目:嵌入式项目管理系统"

这时候,你的代码已经被Git管理起来了。想看看状态?用 git status

2.4.4 关联GitHub远程仓库

先去GitHub上创建一个新仓库,名字就叫 embedded_pms。别勾选「Initialize this repository with a README」,因为我们本地已经有了。

然后回到终端:

git remote add origin https://github.com/你的用户名/embedded_pms.git
git branch -M main
git push -u origin main

输入GitHub的用户名和密码(或者Personal Access Token),代码就推上去了。

个人经验: 现在GitHub已经不支持用密码push了,必须用Token。去GitHub Settings -> Developer settings -> Personal access tokens 生成一个,记得勾选 repo 权限。保存好,以后会用到。

2.4.5 验证一下

打开浏览器,进入你的GitHub仓库页面。如果看到了 app.py.gitignore 这些文件,那就说明一切正常。

以后每次写完代码,就执行这三步:

git add .
git commit -m "写清楚这次改了啥"
git push

养成习惯,你会感谢自己的。

小结

这一章,我们把开发环境搭好了。虚拟环境、Flask、VS Code、Git,一个都没少。

你想想看,现在你的电脑上,已经有一个可以跑起来的Flask应用,代码被Git管理着,还能推送到GitHub。这感觉,是不是挺踏实的?

下一章,咱们开始设计数据库。嗯,那才是项目管理的核心。