Python环境配置教程

在Python开发中,环境配置是所有项目的起点——版本冲突、依赖不兼容、GPU加速失效等问题,往往都源于环境搭建不规范。本文基于真实开发场景(如时间序列项目、深度学习任务),系统梳理venvConda 两种主流虚拟环境工具的配置步骤,结合Git Bash版本控制,形成可直接复用的操作指南,实现快速上手Python项目。

Python3官方文档:docs.python.org/3
Anaconda文档:Getting Started
Miniconda下载:Getting Started > Miniconda
Git下载:git-scm.com/downloads/

Hyplus目录

1 Python虚拟环境简介

Python项目的核心痛点是“依赖污染”:

  • 全局环境中,不同项目可能需要不同版本的Python(如HyMTSF项目需3.11,HyFetcher项目需3.9)或依赖(如PyTorch 1.7与2.0),直接安装会导致版本冲突;
  • 未隔离的环境难以复现,分享项目时他人可能因依赖版本不一致无法运行;
  • 误删全局依赖可能导致系统级工具(如pip)失效。

虚拟环境的本质是为每个项目创建独立的Python运行目录,实现项目间环境隔离、依赖可复现。主流工具分为两类:

  • venv:Python 3.3+ 内置,轻量、无需额外安装,适合纯 Python 项目;
  • Conda:支持跨语言(Python/R/C++)、管理非 Python 依赖(如 CUDA、MKL),适合数据科学、深度学习场景。

2 venv配置指南

venv是Python官方推荐的虚拟环境工具,无需额外安装,仅需掌握“创建-激活-依赖管理”核心流程,可分为全局通用环境项目局部环境两种场景。

2.1 安装Python并配置环境变量

venv依赖Python本体,需先确保Python已正确安装(以Windows系统为例,Linux/macOS流程类似):

  1. 访问Python官网,下载Python稳定版本,建议下载3.11.x(避免新版本可能的依赖兼容性问题)。
    • 安装时务必勾选Add Python 3.11 to PATH,自动配置环境变量,避免后续“Can't find command”问题。
    • 验证安装:打开终端(PowerShell/CMD),执行以下命令,输出版本号即成功
python --version    # 输出 Python 3.11.9
pip --version   # 输出 pip 23.x.x (from ... Python311\site-packages\pip)
  1. 升级pip,避免旧版本依赖解析问题
    • 使用清华镜像(https://pypi.tuna.tsinghua.edu.cn/simple/)加速,解决官方源下载慢的问题。
pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple/

2.2 项目局部环境

为单个项目创建专属venv,确保依赖仅作用于当前项目,适合团队协作或多项目并行开发。推荐使用此方式。

2.2.1 创建环境

步骤如下:

  1. 创建项目目录(以TSLib为例)并进入
mkdir C:\Users\hyplus\projects\time-series-library
cd C:\Users\hyplus\projects\time-series-library
  1. 创建venv环境,命令格式为python -m venv 环境目录名(环境目录名默认用.venv
    • 若系统安装了多个 Python 版本(如3.11和3.12),需指定版本路径(形如C:\Python311\python.exe),避免创建错误版本的环境
# 创建.venv环境
python -m venv .venv
# 用指定的Python 3.11创建环境
C:\Python311\python.exe -m venv .venv

2.2.2 激活/管理环境

激活venv环境后终端前缀会显示(.venv),表示当前操作仅作用于该环境。不同操作系统/终端的命令如下所示:

  1. Windows PowerShell
.venv\Scripts\Activate.ps1
  1. Windows CMD(若PowerShell权限不足,可换CMD)
.venv\Scripts\activate.bat
  1. Linux/macOS终端、Git Bash
source .venv/bin/activate

退出环境只需使用deactivate命令,退出后前缀 (.venv)消失:

deactivate

要想删除环境,只需直接删除项目目录下的.venv文件夹,无残留,安全便捷。

2.2.3 处理项目依赖

通常项目依赖会整理为requirements.txt,可执行以下命令安装其中所有依赖,其中--no-build-isolation表示禁用pip构建隔离环境,解决“Cannot import 'setuptools.build_meta'”等编译依赖问题:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/ --no-build-isolation

亦可直接列出需安装的包:

pip install einops==0.8.0 local-attention==1.9.14 patool==1.12 -i https://pypi.tuna.tsinghua.edu.cn/simple/ --no-build-isolation

亦可手动下载wheel文件后进行安装,例如安装C:\Users\hyplus\wheels\torch-2.2.1-cp311-cp311-win-amd64.whl的命令如下:

pip install C:\Users\hyplus\wheels\torch-2.2.1-cp311-cp311-win-amd64.whl

项目开发完成后,使用以下命令导出当前环境的依赖至requirements.txt,方便他人复现环境:

pip freeze > requirements.txt

2.3 全局通用环境

若多个项目依赖差异小(如均为深度学习项目,需 PyTorch+CUDA),可创建全局通用venv,避免重复配置。

2.3.1 创建环境

创建全局通用环境,指定统一路径。例如以下命令在用户目录下创建全局深度学习环境,环境名为dl-env

mkdir C:\Users\hyplus\PythonEnvs
cd C:\Users\hyplus\PythonEnvs
python -m venv dl-env

2.3.2 激活环境

直接浏览C:\Users\hyplus\PythonEnvs目录即可查看已创建的全局环境,每个文件夹对应一个环境。其他项目使用时,直接使用以下命令激活全局环境:

C:\Users\hyplus\PythonEnvs\dl-env\Scripts\Activate.ps1

安装通用依赖(如PyTorch GPU版、NumPy、Pandas)的方法同前文所述:

pip install torch==2.0.0+cu118 torchvision torchaudio numpy==1.23.5 pandas==1.5.3 -i https://pypi.tuna.tsinghua.edu.cn/simple/

2.4 常见问题与解决方案

  • python3.11无法识别”:Windows中Python可执行文件默认名为python.exe,需用完整路径调用(如 C:\Python311\python.exe --version),或配置环境变量。
  • PyTorch只能下载CPU版而非GPU版:确保命令中指定GPU源(如--index-url https://download.pytorch.org/whl/cu118),注意镜像站不一定有所需的版本!
  • 依赖安装时“版本不兼容”(如torch==1.7.1不支持Python 3.11):可修改requirements.txt为兼容版本(如 torch==2.0.0),或手动。

3 Conda配置指南

Conda是Anaconda/Miniconda自带的包管理工具,非常强大,具有如下优势:

  • 支持非Python依赖(如CUDA、C++编译工具)
  • 可一键切换Python版本(无需手动安装多个Python)
  • 适合数据科学、深度学习等复杂依赖场景(如TensorFlow与PyTorch共存)。

3.1 安装miniconda并配置国内镜像

Anaconda体积极大(约5GB),推荐安装Miniconda(仅50MB):

  1. 访问Miniconda官网,选择对应系统版本(如Windows 64-bit Python 3.11)并下载。
    • 安装时勾选Add Miniconda3 to my PATH environment variable,自动配置环境变量,方便终端调用。
    • 验证安装:打开终端(PowerShell/CMD),执行以下命令,输出版本号即成功
conda --version # 输出 conda 23.x.x
  1. Conda官方源在国外,需配置清华/中科大镜像,加速依赖下载。使用以下命令添加清华镜像(覆盖主要频道):
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  1. 显示通道地址(方便调试):
conda config --set show_channel_urls yes

3.2 创建/激活环境

创建环境的命令格式为conda create -n 环境名 python=版本 依赖包。例如使用以下命令创建时间序列项目环境(Python 3.11),预装NumPy、Pandas:

conda create -n ts-env python=3.11 numpy=1.23.5 pandas=1.5.3

激活环境的命令如下(Windows/Linux/macOS通用)。激活后,终端前缀会显示 (ts-env),表示当前处于该环境:

conda activate ts-env

若需安装GPU依赖(如PyTorch),可先创建空环境,再用pip安装(避免Conda版本兼容性问题):

conda create -n dl-env python=3.11
conda activate dl-env
pip install torch==2.0.0+cu118 torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple/

3.3 管理依赖

用Conda安装(优先使用,适合非 Python 依赖):

conda install matplotlib=3.7.0 scikit-learn=1.2.2

用pip安装(补充Conda源没有的包,如reformer-pytorch):

pip install reformer-pytorch==1.4.4 tqdm==4.64.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/

Conda卸载:

conda remove matplotlib

pip卸载:

pip uninstall reformer-pytorch

3.4 管理Conda环境

导出Conda环境到environment.yml(包含 Python 版本、所有依赖,比pip freeze更完整):

conda env export > environment.yml

导入Conda环境:

conda env create -f environment.yml

查看所有已创建的Conda环境(两种方式):

conda info --envs
conda env list

删除指定环境(如删除ts-env):

conda env remove -n ts-env

3.5 Conda与venv对比

对比维度 venv Conda
体积 轻量(仅Python依赖) 较臃肿(含系统依赖)
跨语言支持 仅Python 支持Python/R/C++等
依赖管理 依赖pip,需手动处理版本冲突 自动解决依赖冲突,支持非Python包
Python版本切换 需手动安装多个Python 一键切换(如conda install python=3.9
适用场景 纯Python项目、轻量开发 数据科学、深度学习、复杂依赖项目

4 [EX] Git Bash

相关阅读:Git项目管理工具简介

Git Bash是Git for Windows自带的终端工具,支持Linux风格命令(如lscdgrep),同时集成Git版本控制功能,适合习惯Linux操作的开发者,也能解决Windows终端的部分兼容性问题(如venv激活权限)。由此实现Windows下的Linux风格终端与版本控制。

4.1 安装

访问Git官网,下载Windows版Git。

安装时勾选Use Git from Git Bash only(避免与系统其他Git冲突),终端选择Git Bash Here(方便右键打开),其他默认下一步即可。

验证:右键点击任意文件夹,选择Git Bash Here,打开终端后执行以下命令,输出版本号即成功:

git --version

4.2 基础配置

配置用户名和邮箱(关联Git账号),其中--global表示全局配置,对所有Git仓库生效;若需单独配置某个项目,进入项目目录后去掉该参数:

git config --global user.name "Your Name"  # 你的 Git 用户名(如 GitHub 用户名)
git config --global user.email "your.email@example.com"  # 你的 Git 邮箱

配置默认编辑器,通常使用VS Code作为Git默认编辑器:

git config --global core.editor "code --wait"

4.3 Linux风格终端命令

在Git Bash中,可使用Linux命令操作文件,以此完全替代Windows CMD。与Windows命令的一些重要区别如下表所示(待追加):

功能 Windows CMD命令 Git Bash命令
查看当前目录文件 dir ls
创建文件夹 mkdir 文件夹名 mkdir 文件夹名
删除文件 del 文件名 rm 文件名
删除文件夹 rmdir /s 文件夹名 rm -rf 文件夹名
... ... ...

Git项目管理命令详见相关教程

4.4 使用venv/Conda

在Git Bash中,可直接激活venv或Conda环境,操作与Linux终端一致。

激活venv(注意Git Bash中用source执行二进制文件,而非直接使用“.\”开头的文件):

source .venv/Scripts/activate

激活Conda(与Windows PowerShell一致):

conda activate ts-env

发表评论