完整 Python 运行流程,涵盖日常开发和工程化实践:
一、项目初始化阶段(首次配置)
1. 选择 Python 版本
根据项目需求,通过以下方式选择 / 安装 Python:
bash
# 检查系统已安装版本
python --version # 或 python3 --version
# 用pyenv安装多版本(推荐)
pyenv install 3.10.12 # 安装指定版本
pyenv global 3.10.12 # 设置全局版本
2. 创建虚拟环境
在项目根目录下:
bash
# 使用venv(Python内置)
python -m venv .venv # 创建环境到.venv目录
# 使用conda(数据科学项目推荐)
conda create -n myproject python=3.10
# 使用poetry(现代Python项目)
poetry init # 交互式创建项目
3. 激活环境
bash
# venv环境
## Windows:
.venv\Scripts\activate
## macOS/Linux:
source .venv/bin/activate
# conda环境
conda activate myproject
# poetry环境
poetry shell
4. 安装依赖
bash
# 从requirements.txt安装
pip install -r requirements.txt
# 单独安装(自动更新requirements.txt)
pip install numpy pandas
pip freeze > requirements.txt # 更新依赖文件
# poetry方式
poetry add numpy pandas
二、日常开发流程
1. 进入项目目录
bash
cd /path/to/your/project
2. 激活虚拟环境
bash
# 选择对应的激活命令(见上文)
3. 运行 Python 代码
bash
# 运行脚本
python script.py
# 带参数运行
python script.py --input data.csv --output results.txt
# 交互式运行(IPython)
ipython
# Jupyter Notebook
jupyter notebook
4. 调试与测试
bash
# 断点调试
python -m pdb script.py
# 单元测试
python -m unittest test_script.py
三、项目交付与协作
1. 导出环境配置
bash
# venv/conda环境
pip freeze > requirements.txt
# conda环境(含Python版本)
conda env export > environment.yml
# poetry环境
poetry export -f requirements.txt --output requirements.txt
2. 提交到版本控制
bash
# 添加必要文件
git add requirements.txt script.py
git commit -m "Add initial code and dependencies"
git push origin main
3. 他人复现环境
bash
# 克隆项目
git clone https://github.com/your/project.git
cd project
# 基于requirements.txt创建环境
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# 或基于conda环境文件
conda env create -f environment.yml
conda activate myproject
四、高级技巧与工具链
1. 自动激活环境
- 使用
direnv
工具,在项目目录创建.envrc
文件:bash
layout python3 # 自动创建/激活venv环境
2. 环境变量管理
- 创建
.env
文件存储敏感信息:env
DB_HOST=localhost API_KEY=your_api_key
- 在代码中读取:
python
运行
from dotenv import load_dotenv load_dotenv() import os api_key = os.getenv("API_KEY")
3. Makefile 简化操作
makefile
# Makefile示例
install:
pip install -r requirements.txt
run:
python script.py
test:
python -m unittest discover
执行:make install
或 make run
五、常见问题速查
问题 | 解决方案 |
---|---|
模块导入失败 | 1. 检查环境是否激活 2. pip list 查看包是否安装3. 检查 PYTHONPATH |
版本冲突 | 1. 用poetry 锁定依赖版本2. 查看 pipdeptree 分析依赖树 |
环境变量不生效 | 1. 确保.env 文件在项目根目录2. 使用 python-dotenv 库读取 |
Jupyter 找不到虚拟环境 | 1. 激活环境后安装内核:python -m ipykernel install --user --name myenv |
总结:分阶段执行,养成肌肉记忆
- 初始化阶段:选 Python 版本 → 创建虚拟环境 → 安装依赖
- 日常开发:进入项目目录 → 激活环境 → 运行 / 调试代码
- 协作交付:导出环境配置 → 提交代码 → 他人复现环境