Python项目创建和环境配置详细讲解
更新: 8/25/2026字数: 0 字 时长: 0 分钟
bash
# ===== 完整可复制流程(跨平台) =====
# 1. 创建项目文件夹
mkdir pandas-test
cd pandas-test
# 2. 创建虚拟环境(隔离依赖)
python -m venv venv
# 3. 激活虚拟环境
# Windows (CMD / PowerShell):
venv\Scripts\activate
# macOS / Linux:
# source venv/bin/activate
# 4. 升级 pip(强烈建议)
python -m pip install --upgrade pip
# 5. 安装项目依赖
python -m pip install pandas numpy matplotlib openpyxl
# 6. 保存依赖清单
python -m pip freeze > requirements.txt我们会经常看到类似上面的代码,它们的作用是创建一个独立的 Python 项目环境。下面逐行解释这些命令的作用和背后的原理。
1. 创建项目文件夹
bash
mkdir pandas-test
cd pandas-testmkdir pandas-test
- mkdir = "make directory"(创建目录)
- 在当前路径下创建一个名为
pandas-test的新文件夹 - 这是项目的根目录,后续所有文件都放在这里
cd pandas-test
- cd = "change directory"(切换目录)
- 进入刚才创建的文件夹
- 之后的所有操作都在这个项目目录中进行
2. 创建虚拟环境
bash
python -m venv venv什么是虚拟环境?
虚拟环境是一个独立的 Python 运行环境。每个项目可以拥有自己独立的依赖包,互不干扰,也不会污染系统全局的 Python 环境。
命令解析
- python:调用当前的 Python 解释器
- -m:以模块方式运行后面的包(module)
- venv:Python 自带的虚拟环境模块
- 最后一个 venv:你给虚拟环境文件夹起的名字(可以改成
.venv等)
为什么要用虚拟环境?
python
# 假设有两个项目:
# 项目A需要 pandas 1.5
# 项目B需要 pandas 2.2
# 没有虚拟环境:全局只能安装一个版本,容易冲突
pip install pandas==1.5 # 安装了 1.5
pip install pandas==2.2 # 会覆盖 1.5,项目A可能直接报错
# 有虚拟环境:每个项目完全独立
# 项目A的 venv 里安装 pandas==1.5
# 项目B的 venv 里安装 pandas==2.2
# 互不影响创建后的目录结构
Windows:
text
pandas-test/
└── venv/
├── Scripts/ # 可执行文件(python.exe、pip.exe、activate 等)
├── Lib/ # 安装的第三方库
├── Include/
└── pyvenv.cfg # 环境配置文件macOS / Linux:
text
pandas-test/
└── venv/
├── bin/ # 可执行文件(python、pip、activate 等)
├── lib/
├── include/
└── pyvenv.cfg3. 激活虚拟环境
bash
# Windows:
venv\Scripts\activate
# macOS / Linux:
source venv/bin/activate激活后的主要变化
- 命令行提示符前面通常会显示
(venv) python和pip命令都指向虚拟环境内部的版本- 之后用 pip 安装的包只会装到当前虚拟环境中
- 系统全局的 Python 包不会受到影响
激活前后对比
激活前(系统全局环境):
bash
$ where python # Windows
C:\Python312\python.exe
$ which python # macOS/Linux
/usr/bin/python3激活后(虚拟环境):
bash
$ where python # Windows
D:\pandas-test\venv\Scripts\python.exe
$ which python # macOS/Linux
/home/user/pandas-test/venv/bin/python提示(Windows PowerShell):如果遇到无法执行脚本的错误,可先运行:
powershellSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
4. 升级 pip 并安装依赖包
bash
python -m pip install --upgrade pip
python -m pip install pandas numpy matplotlib openpyxl为什么推荐使用 python -m pip?
直接敲 pip 有时会调用到系统全局的 pip,导致包装错位置。 使用 python -m pip 能确保用的是当前虚拟环境对应的 pip,更可靠。
每个包的作用
| 包名 | 用途 | 典型使用场景 |
|---|---|---|
| pandas | 数据分析 | 处理表格、CSV、数据清洗 |
| numpy | 数值计算 | 数组运算、数学函数(pandas 的依赖) |
| matplotlib | 数据可视化 | 折线图、柱状图、散点图 |
| openpyxl | Excel 文件处理 | 读写 .xlsx 格式文件 |
依赖关系示意
text
pandas
├── numpy
├── python-dateutil
└── pytz
matplotlib
├── numpy
├── pillow
├── kiwisolver
└── cycler
openpyxl
└── et-xmlfile安装一个主包时,pip 会自动把必要的依赖一起装上。
5. 保存依赖清单
bash
python -m pip freeze > requirements.txtpip freeze 的作用
它会列出当前虚拟环境中所有已安装的包及精确版本号。
> requirements.txt
>是重定向符号- 把
pip freeze的输出写入文件,而不是打印到屏幕 - 文件不存在就创建,已存在则覆盖
生成的 requirements.txt 示例:
txt
numpy==2.1.0
pandas==2.2.2
matplotlib==3.9.0
openpyxl==3.1.5
python-dateutil==2.9.0
...6. 如何让别人复现你的环境(重要)
当你把项目发给别人,或自己换电脑时,只需要:
bash
# 1. 创建并激活虚拟环境
python -m venv venv
# Windows:
venv\Scripts\activate
# macOS/Linux:
# source venv/bin/activate
# 2. 按清单安装所有依赖
python -m pip install -r requirements.txt这样就得到和你完全一样的环境了。
7. 完整流程图
text
初始化阶段
─────────
mkdir project → 创建项目文件夹
cd project → 进入项目目录
python -m venv venv → 创建独立环境
activate venv → 激活环境
python -m pip install --upgrade pip
python -m pip install ... → 安装需要的包
python -m pip freeze > requirements.txt → 记录依赖
开发阶段
─────────
编写代码、运行程序、继续安装新包……
分享 / 部署阶段
─────────
把项目代码 + requirements.txt 发给别人
对方执行:
python -m venv venv
激活环境
python -m pip install -r requirements.txt8. 必须配套的 .gitignore
项目根目录下建议创建 .gitignore 文件,至少包含:
gitignore
# 虚拟环境
venv/
.venv/
# Python 缓存
__pycache__/
*.py[cod]
*$py.class
# 环境变量
.env
.env.*
# IDE
.idea/
.vscode/
*.swp
# 测试与覆盖率
.pytest_cache/
.coverage
htmlcov/9. 常用补充命令
bash
# 退出虚拟环境
deactivate
# 安装指定版本
python -m pip install pandas==2.2.2
python -m pip install "pandas>=2.0,<3.0"
# 查看已安装的包
python -m pip list
# 删除虚拟环境(直接删文件夹即可)
# Windows: rmdir /s /q venv
# macOS/Linux: rm -rf venv10. 现代替代方案(进阶提示)
上面介绍的是目前兼容性最好、最基础的方式,适合学习和中小型项目。
当项目变大后,可以关注这些更现代的工具:
- uv:速度极快的包管理和虚拟环境工具(推荐尝试)
- Poetry / PDM / Hatch:更完整的依赖管理与打包方案
- pyproject.toml:现代 Python 项目的标准配置文件(替代单纯的 requirements.txt)
对于刚入门的同学,先把 venv + pip + requirements.txt 熟练掌握即可。等需要发布包或管理复杂依赖时,再学习这些工具会更顺利。
这套流程是 Python 项目开发的基础标准做法,无论是数据分析脚本还是 Web 项目都适用。把虚拟环境用好,能避免绝大多数“我这边能跑,你那边报错”的问题。