Python环境搭建
原创...大约 6 分钟
摘要
本文详细介绍了Python环境的搭建过程,包括Python解释器的安装、开发环境的配置、虚拟环境的管理以及包管理工具的使用。通过本教程,读者可以轻松完成Python环境的搭建,为Python项目的开发打下基础。
1. 安装Python解释器
1.1 Windows系统安装
- 访问Python官网下载页面
- 选择适合您系统的Python版本(推荐最新版)
- 运行下载的安装程序
- 在安装过程中,勾选"Add Python to PATH"选项
- 完成安装后,打开命令提示符,输入
python --version
验证安装成功
温馨提示
如果安装过程中没有勾选"Add Python to PATH"选项,可以手动添加环境变量
1.2 Linux/Mac系统安装
- 打开终端
- 使用以下命令安装Python(以Ubuntu为例):
sudo apt update sudo apt install python3
- 安装完成后,输入
python3 --version
验证安装成功
2. 配置开发环境
2.1 安装IDE
推荐使用PyCharm作为Python开发IDE,可以访问PyCharm官网下载并安装
2.2 配置IDE
3. 包管理工具与虚拟环境管理
3.1 什么是虚拟环境
虚拟环境是指为项目创建一个独立的Python环境,包括Python解释器、库和依赖项。这样可以避免不同项目之间的依赖冲突,并且可以轻松地管理项目的依赖项。
3.2 不同包管理工具的虚拟环境创建方式
重要提示
不同的Python包管理工具创建虚拟环境的方式不完全相同,每种工具都有其特定的命令和特性。
3.2.1 venv(Python内置,推荐新手使用)
Python 3.3及以上版本自带的虚拟环境工具:
# 创建虚拟环境
python -m venv myenv
# 激活虚拟环境
# Windows:
myenv\Scripts\activate
# macOS/Linux:
source myenv/bin/activate
# 退出虚拟环境
deactivate
3.2.2 virtualenv(第三方工具,功能更强大)
需要先安装:pip install virtualenv
# 创建虚拟环境
virtualenv myenv
# 指定Python版本创建
virtualenv -p python3.9 myenv
# 激活虚拟环境(同venv)
# Windows: myenv\Scripts\activate
# macOS/Linux: source myenv/bin/activate
3.2.3 conda(Anaconda/Miniconda包管理器)
# 创建虚拟环境
conda create -n myenv python=3.9
# 创建并指定包
conda create -n myenv python=3.9 numpy pandas
# 激活虚拟环境
conda activate myenv
# 退出虚拟环境
conda deactivate
# 查看所有环境
conda env list
3.2.4 pipenv(现代化包管理工具)
需要先安装:pip install pipenv
# 在项目目录中创建虚拟环境和Pipfile
pipenv install
# 指定Python版本
pipenv --python 3.9
# 激活虚拟环境
pipenv shell
# 安装包(自动管理依赖)
pipenv install requests
# 安装开发依赖
pipenv install pytest --dev
3.2.5 poetry(现代依赖管理工具)
需要先安装:pip install poetry
# 初始化新项目(创建pyproject.toml)
poetry init
# 创建虚拟环境并安装依赖
poetry install
# 激活虚拟环境
poetry shell
# 添加依赖
poetry add requests
# 添加开发依赖
poetry add pytest --group dev
3.2.6 uv(极速现代化包管理工具)
需要先安装:pip install uv
或 curl -LsSf https://astral.sh/uv/install.sh | sh
# 创建虚拟环境
uv venv myenv
# 使用指定Python版本创建
uv venv --python 3.9 myenv
# 激活虚拟环境(同venv方式)
# Windows: myenv\Scripts\activate
# macOS/Linux: source myenv/bin/activate
# 安装包(极速安装)
uv pip install requests
# 从requirements.txt安装
uv pip install -r requirements.txt
# 同步依赖(精确匹配requirements.txt)
uv pip sync requirements.txt
# 项目级别的依赖管理(推荐)
uv sync # 同步pyproject.toml中的依赖
uv sync --dev # 包含开发依赖
uv sync --frozen # 使用锁定文件,不更新依赖
3.2.7 pyenv-virtualenv(Python版本管理 + 虚拟环境)
需要先安装pyenv和pyenv-virtualenv:
# 创建虚拟环境
pyenv virtualenv 3.9.0 myenv
# 激活虚拟环境
pyenv activate myenv
# 退出虚拟环境
pyenv deactivate
# 设置项目自动激活环境
pyenv local myenv
3.3 各工具对比总结
工具 | 优点 | 缺点 | 适用场景 |
---|---|---|---|
venv | 内置、简单、轻量 | 功能基础 | 新手学习、简单项目 |
virtualenv | 功能强大、兼容性好 | 需要额外安装 | 复杂项目、多版本支持 |
conda | 科学计算包丰富、环境管理强大 | 体积大、速度慢 | 数据科学、机器学习 |
pipenv | 现代化、自动依赖管理 | 学习成本、速度较慢 | 现代Web开发 |
poetry | 现代化、构建发布便捷 | 学习成本高 | 包开发、现代项目 |
uv | 极速安装、现代化、兼容pip | 相对较新、生态待完善 | 追求速度的现代项目 |
pyenv-virtualenv | Python版本管理 + 虚拟环境 | 配置复杂 | 多版本开发环境 |
3.4 性能对比
速度对比
根据官方测试,各工具的包安装速度对比:
- uv: 🚀 极速(比pip快10-100倍)
- pip: 🐌 标准速度
- conda: 🐢 较慢
- pipenv: 🐌 标准速度
- poetry: 🐌 标准速度
3.5 选择建议
- 初学者:使用
venv
- 追求速度:使用
uv
(推荐!) - 数据科学:使用
conda
- 现代Web开发:使用
pipenv
、poetry
或uv
- 包开发:使用
poetry
- 多Python版本管理:使用
pyenv-virtualenv
3.6 uv 的特殊优势
uv
是由 Astral 公司开发的下一代Python包管理工具,具有以下突出特点:
- 极速安装:使用Rust编写,比pip快10-100倍
- 兼容性强:完全兼容pip和requirements.txt
- 现代化设计:支持现代Python项目结构
- 内存效率:占用内存更少
- 跨平台:Windows、macOS、Linux全支持
# uv的高级用法示例
# 1. 传统方式:使用requirements.txt
uv venv
uv pip install -e .
uv pip freeze > requirements.txt
uv pip sync requirements.txt
# 2. 现代方式:使用pyproject.toml(推荐)
uv init # 初始化项目,创建pyproject.toml
uv add requests fastapi # 添加生产依赖
uv add --dev pytest black # 添加开发依赖
uv sync # 同步所有依赖
uv sync --dev # 同步包含开发依赖
uv sync --frozen # 使用锁定文件,确保版本一致
# 3. uv sync vs uv pip sync 的区别
# uv sync: 基于pyproject.toml的现代项目管理
# uv pip sync: 基于requirements.txt的传统方式
uv sync 命令详解
uv sync
是 uv
的核心命令之一,用于现代Python项目的依赖管理:
基本用法:
uv sync # 同步pyproject.toml中定义的依赖
uv sync --dev # 包含开发依赖组
uv sync --frozen # 使用uv.lock锁定文件,不更新版本
uv sync --no-dev # 仅安装生产依赖,排除开发依赖
与其他命令的区别:
命令 | 用途 | 依赖文件 | 特点 |
---|---|---|---|
uv pip sync | 传统同步 | requirements.txt | 兼容pip工作流 |
uv sync | 现代同步 | pyproject.toml | 现代项目管理 |
uv pip install | 单独安装 | - | 安装单个包 |
uv add | 添加依赖 | pyproject.toml | 自动更新配置文件 |
工作流示例:
# 新项目开始
uv init my-project
cd my-project
# 添加依赖
uv add requests pandas
uv add --dev pytest black flake8
# 同步环境(团队协作)
uv sync --frozen # 确保所有人使用相同版本
Powered by Waline v3.6.0