Skip to content
 

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-test

mkdir 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
# 看似一样,但位置不同

激活后的变化

  1. 命令行提示符通常会显示 (venv)
  2. python命令指向虚拟环境中的Python
  3. pip命令安装包到虚拟环境
  4. 环境变量PATH被修改,优先使用虚拟环境的程序

4. 安装依赖包

bash
pip install pandas numpy matplotlib openpyxl

每个包的作用

包名用途典型使用场景
pandas数据分析库处理表格数据、CSV文件、数据清洗
numpy数值计算库数组运算、数学函数、pandas依赖它
matplotlib数据可视化画折线图、柱状图、散点图
openpyxlExcel文件处理读写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.txt

pip 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.0

6. 完整的项目流程图示

初始化阶段:
┌─────────────────┐
│  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项目开发的标准做法,无论是小脚本还是大型项目都适用。

我见青山多妩媚,料青山见我应如是