一行命令搭环境!Day20搞定Python虚拟环境 🛠️
90天AI学习挑战 · Day20
和包哥一起学AI
📌 昨天
昨天Day19我们封装了chat()函数,把复杂的API调用变成一行搞定!还学会了多轮对话和token信息提取。
今天Day20是环境搭建日——虽然看起来枯燥,但它是后面所有实战的基础!就像盖房子要先打地基一样。🏗️
📖 正文
为什么需要虚拟环境?
想象一下这个场景:
❌ 没有虚拟环境:
✅ 有了虚拟环境:
- 项目A有自己的
venv,装 requests==2.25.0 - 项目B有自己的
venv,装 requests==2.31.0
简单说:虚拟环境就是给每个项目一个独立的Python小房间,装啥都行,不会影响别人。
第一步:创建虚拟环境
在项目目录执行:
# 进入项目目录
cd Claw/llm_study
# 创建名为 venv 的虚拟环境
python -m venv venv
说明:
python -m venv 是Python自带的虚拟环境工具
第二步:激活虚拟环境
**Windows (PowerShell)**:
.\venv\Scripts\Activate.ps1
**Windows (CMD)**:
venv\Scripts\activate.bat
Mac/Linux:
source venv/bin/activate
✅ 激活成功标志:命令行前面会出现 (venv) 提示!
(venv) PS C:\Users\Administrator\WorkBuddy\2026-05-15-task-11\Claw\llm_study>
第三步:安装必要的包
激活虚拟环境后,安装我们需要的包:
# 升级pip(推荐)
python -m pip install --upgrade pip
# 安装AI相关包
pip install openai requests python-dotenv
安装的包说明:
openai:调用DeepSeek/OpenAI API的官方库requests:HTTP请求库(虽然openai库也用,但很多地方会用到)python-dotenv:读取 .env 文件中的环境变量
验证安装:
python -c "import openai; print('✅ openai库安装成功,版本:', openai.__version__)"
输出类似:✅ openai库安装成功,版本: 2.37.0
第四步:生成依赖文件
把当前环境的所有包导出,方便以后复现:
pip freeze > requirements.txt
requirements.txt 内容示例:
openai==2.37.0
requests==2.34.2
python-dotenv==1.2.2
...
以后别人拿到你的项目,只需要执行:
pip install -r requirements.txt
就能装上完全一样的依赖!
第五步:配置DeepSeek API
创建 .env 文件(存放API密钥):
# Windows PowerShell
"DEEPSEEK_API_KEY=你的密钥" > .env
"DEEPSEEK_BASE_URL=https://api.deepseek.com" >> .env
创建模板文件(给别人看的,不包含真实密钥):
"DEEPSEEK_API_KEY=your_api_key_here" > .env.example
"DEEPSEEK_BASE_URL=https://api.deepseek.com" >> .env.example
在Python中使用:
from openai import OpenAI
from dotenv import load_dotenv
import os
load_dotenv() # 加载.env文件
client = OpenAI(
api_key=os.getenv('DEEPSEEK_API_KEY'),
base_url=os.getenv('DEEPSEEK_BASE_URL')
)
# 测试调用
response = client.chat.completions.create(
model="deepseek-chat",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
第六步:创建规范的项目结构
llm_study/
├── venv/ # 虚拟环境(不要提交到git)
├── requirements.txt # 项目依赖列表
├── .gitignore # 告诉git忽略哪些文件
├── .env # 环境变量(真实密钥,不提交!)
├── .env.example # 环境变量模板(可以提交)
├── day20_lesson.py # 今日学习内容
├── day20_homework.py # 今日作业
├── utils/ # 工具函数
│ └── __init__.py
├── lessons/ # 学习笔记
│ └── lesson_20.md
└── outputs/ # 输出文件
├── covers/ # 封面图
└── cards/ # 小红书卡片
创建命令:
mkdir utils
echo. > utils/__init__.py # Windows
# 或者:New-Item -Path utils/__init__.py -ItemType File -Force
mkdir lessons
echo"# Lesson 20" > lessons/lesson_20.md
mkdir outputs
mkdir outputs/covers
mkdir outputs/cards
第七步:配置 .gitignore
创建 .gitignore 文件,告诉 git 不要跟踪这些文件:
venv/
__pycache__/
*.pyc
.env
创建命令:
echo"venv/" > .gitignore
echo"__pycache__/" >> .gitignore
echo"*.pyc" >> .gitignore
echo".env" >> .gitignore
为什么?
__pycache__/ 和 *.pyc:Python运行时产生的缓存文件.env:包含真实API密钥!绝对不能提交到git!
📊 今日成果
| |
|---|
| |
| |
| ✅ 安装openai、requests、python-dotenv | |
| |
| |
| |
| |
验证命令:
# 1. 检查虚拟环境
where python # 应该指向 venv 目录
# 2. 检查已安装的包
pip list
# 3. 测试API调用
python -c "from openai import OpenAI; import os; from dotenv import load_dotenv; load_dotenv(); print('✅ 环境配置成功!')"
📖 今日金句
环境搭建不是浪费时间,而是为后面的实战铺路。没有稳固的地基,房子再漂亮也会塌!
📊 90天挑战进度
当前阶段:阶段2 - API调用(第16-33天)
Day16:API是什么?从手动到自动 ✅ 已完成
Day17:安全与边界 ✅ 已完成
Day18:Python请求与响应(Day1) ✅ 已完成
Day19:Python请求与响应(Day2) ✅ 已完成
Day20:环境搭建 🔥 今日完成(虚拟环境+DeepSeek配置)
Day21:DeepSeek API实战调用 ⬜ 明日预告
累计打卡:20/90天 (22.2%) 💪
💡 给自学者的建议
环境搭建这部分,很多人会觉得"枯燥"、"没意思",但它真的很重要!
我的心得:
- 不要死记命令:没人能记住所有命令,用的时候查笔记就行
- 理解概念比背命令重要:知道"为什么用虚拟环境"比"背python -m venv"更重要
- 允许自己复制粘贴:程序员每天的工作就是Google + 复制 + 修改
记住:你的目标是"用AI提效",不是"成为程序员"。别给自己太大压力!
🔥 明日预告
Day21:DeepSeek API 实战调用
明天我们将用今天搭建的环境,实战调用DeepSeek API!
- 常用参数详解(temperature、max_tokens、model)
- 错误处理(AuthenticationError等)
材料已准备:day21_lesson.py + day21_homework.py ✅
和包哥一起学AI · Day20
40岁学AI,环境搭建也不怕💪
公众号:和包哥一起学AI
🔒 安全提醒(重要!)
**API Key 是你的"密码"**:
- ✅
.env 加入 .gitignore(不提交到git) - ✅ 如果泄露了,立刻去平台删除旧key,生成新key!
今天我不小心把key贴在聊天里了,立刻去平台换了新key 🔒 吃一堑长一智!