Python项目创建和环境配置详细讲解
更新: 3/11/2026字数: 0 字 时长: 0 分钟
python
# 创建项目文件夹
mkdir pandas-test
cd pandas-test
# 创建虚拟环境(隔离依赖)
python -m venv venv
# 激活虚拟环境
# Windows:
venv\Scripts\activate
pip install pandas numpy matplotlib openpyxl
# 保存依赖清单
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解释器
- -m:以模块方式运行后面的包(module)
- venv:Python自带的虚拟环境模块
- 第二个venv:创建的虚拟环境文件夹名称
为什么要用虚拟环境?
python
# 假设有两个项目:
# 项目A需要 pandas 1.0
# 项目B需要 pandas 2.0
# 没有虚拟环境:全局只能安装一个版本,冲突!
pip install pandas==1.0 # 安装了1.0
pip install pandas==2.0 # 会覆盖1.0,项目A可能无法运行
# 有虚拟环境:每个项目独立
# 项目A的venv
pip install pandas==1.0 # 只在项目A有效
# 项目B的venv
pip install pandas==2.0 # 只在项目B有效创建后的目录结构
pandas-test/
├── venv/ # 虚拟环境文件夹
│ ├── Scripts/ # Windows可执行文件
│ ├── Lib/ # Python库文件
│ ├── Include/ # C头文件
│ └── pyvenv.cfg # 环境配置文件3. 激活虚拟环境
bash
# Windows:
venv\Scripts\activate
# Mac/Linux:
# source venv/bin/activate激活前后的对比
激活前(全局环境):
bash
$ which python
/usr/bin/python # 系统Python
$ pip list
Package Version
---------- -------
pip 21.0.1
setuptools 54.2.0
# 只有基础包激活后(虚拟环境):
bash
$ which python
/pandas-test/venv/Scripts/python # 项目独立的Python
$ pip list
Package Version
---------- -------
pip 21.0.1
setuptools 54.2.0
# 看似一样,但位置不同激活后的变化
- 命令行提示符通常会显示
(venv) - python命令指向虚拟环境中的Python
- pip命令安装包到虚拟环境
- 环境变量PATH被修改,优先使用虚拟环境的程序
4. 安装依赖包
bash
pip install pandas numpy matplotlib openpyxl每个包的作用
| 包名 | 用途 | 典型使用场景 |
|---|---|---|
| pandas | 数据分析库 | 处理表格数据、CSV文件、数据清洗 |
| numpy | 数值计算库 | 数组运算、数学函数、pandas依赖它 |
| matplotlib | 数据可视化 | 画折线图、柱状图、散点图 |
| openpyxl | Excel文件处理 | 读写Excel文件(.xlsx格式) |
安装过程
bash
# pip会自动下载并安装
$ pip install pandas numpy matplotlib openpyxl
# 安装输出示例:
Collecting pandas
Downloading pandas-2.0.3-cp39-cp39-win_amd64.whl (11.8 MB)
Collecting numpy
Downloading numpy-1.24.3-cp39-cp39-win_amd64.whl (14.8 MB)
Collecting matplotlib
Downloading matplotlib-3.7.2-cp39-cp39-win_amd64.whl (7.6 MB)
Collecting openpyxl
Downloading openpyxl-3.1.2-py2.py3-none-any.whl (250 kB)
Collecting python-dateutil (from pandas)
Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
...
Successfully installed pandas-2.0.3 numpy-1.24.3 ...依赖关系(为什么装一个会带多个)
pandas
├── 需要 numpy(数值计算)
├── 需要 python-dateutil(日期处理)
└── 需要 pytz(时区处理)
matplotlib
├── 需要 numpy
├── 需要 kiwisolver(布局计算)
├── 需要 pillow(图像处理)
└── 需要 cycler(循环属性)
openpyxl
└── 需要 et-xmlfile(XML处理)5. 保存依赖清单
bash
pip freeze > requirements.txtpip freeze 命令
列出当前环境所有已安装的包及其精确版本号
bash
$ pip freeze
numpy==1.24.3
pandas==2.0.3
matplotlib==3.7.2
openpyxl==3.1.2
python-dateutil==2.8.2
pytz==2023.3
six==1.16.0
pillow==9.5.0
kiwisolver==1.4.4
cycler==0.11.0
pyparsing==3.0.9
et-xmlfile==1.1.0> requirements.txt
- > 是重定向符号
- 将pip freeze的输出写入文件,而不是显示在屏幕
- 如果文件不存在就创建,存在就覆盖
生成的requirements.txt内容
txt
numpy==1.24.3
pandas==2.0.3
matplotlib==3.7.2
openpyxl==3.1.2
python-dateutil==2.8.2
pytz==2023.3
six==1.16.0
pillow==9.5.0
kiwisolver==1.4.4
cycler==0.11.0
pyparsing==3.0.9
et-xmlfile==1.1.06. 完整的项目流程图示
初始化阶段:
┌─────────────────┐
│ mkdir project │ 创建项目文件夹
└────────┬────────┘
↓
┌─────────────────┐
│ cd project │ 进入项目目录
└────────┬────────┘
↓
┌─────────────────┐
│ python -m venv │ 创建独立环境
└────────┬────────┘
↓
┌─────────────────┐
│ activate venv │ 激活环境
└────────┬────────┘
↓
开发阶段:
┌─────────────────┐
│ pip install ... │ 安装需要的包
└────────┬────────┘
↓
┌─────────────────┐
│ 编写代码 │ 使用安装的包
└────────┬────────┘
↓
┌─────────────────┐
│ pip freeze │ 记录依赖版本
└─────────────────┘
分享/部署阶段:
┌─────────────────┐
│ requirements.txt│ 包含所有依赖
└────────┬────────┘
↓
其他开发者:
┌─────────────────┐
│ pip install -r │ 一键安装所有依赖
└─────────────────┘7.常用变体和扩展
bash
# 1. 指定Python版本创建虚拟环境
python3.9 -m venv venv # 使用Python 3.9
# 2. 安装指定版本的包
pip install pandas==1.5.3 # 安装特定版本
pip install "pandas>=2.0" # 安装2.0以上版本
# 3. 只安装主要依赖(不记录子依赖)
pip freeze > requirements.txt # 包含所有
pip list --not-required > requirements.txt # 只包含手动安装的
# 4. 使用requirements文件安装
pip install -r requirements.txt # 从文件安装
# 5. 退出虚拟环境
deactivate
# 6. 删除虚拟环境(直接删文件夹)
rm -rf venv # Mac/Linux
rmdir /s venv # Windows这个流程是Python项目开发的标准做法,无论是小脚本还是大型项目都适用。