admin管理员组

文章数量:1130349

理解这一堆东西都是什么 版本之间有什么制约

┌───────────────────────────────┐
│    Miniconda/Conda            │
│  - 管理虚拟环境                │
│  - 安装不同 Python 版本        │
└──────────────┬────────────────┘
               │ create
               ▼
     ┌─────────────────────┐
     │   虚拟环境 (env)     │
     │  - Python 版本      │
     │  - PyTorch / CUDA   │
     └─────────┬───────────┘
               │
               ▼
┌───────────────────────────────┐
│          Python               │
│  - 决定可用 PyTorch 版本       │
│  - 运行你的代码                │
└──────────────┬────────────────┘
               │
               ▼
┌───────────────────────────────┐
│          PyTorch              │
│  - 深度学习框架                │
│  - 利用 CUDA 进行 GPU 加速     │
│  - 版本受 Python 和 CUDA 限制 │
└──────────────┬────────────────┘
               │
               ▼
┌───────────────────────────────┐
│          CUDA                 │
│  - GPU 并行计算平台             │
│  - 提供 GPU 加速                │
│  - 版本受 GPU 驱动 & 硬件限制 │
└──────────────┬────────────────┘
               │
               ▼
┌───────────────────────────────┐
│         GPU 驱动               │
│  - 系统全局                     │
│  - 决定可用最高 CUDA             │
│  - 支持 GPU 硬件                │
└──────────────┬────────────────┘
               │
               ▼
┌───────────────────────────────┐
│          GPU (显卡)           │
│  - 决定支持 CUDA 的最大版本     │
│  - 提供计算能力 (Compute Cap.) │
└───────────────────────────────┘

┌───────────────────────────────┐
│          PyCharm IDE           │
│  - 绑定虚拟环境运行 Python      │
│  - 不影响 CUDA/驱动            │
│  - 提供开发工具                 │
└───────────────────────────────┘

总结一下,pytorch版本是决定你dl使用工具的上限,例如1.x的版本就支持不了transform那些工具,所以一般是版本越高越好。而决定你能用什么版本的一切源头是你的硬件GPU,GPU过老会导致可能不被最新的驱动支持,这就导致可能只能使用较低版本的cuda,cuda和pytorch的版本是深度绑定的,导致你可能使用不了太高版本的pytorch从而局限了工具的使用。


所以简单来说,(假设你暂时不花钱升级GPU),首先你需要去NVIDIA官网的驱动下载页查询显卡目前最高支持的驱动并升级到最新驱动。

下载了最新驱动之后你就可以在cmd终端使用这条命令查看你当前显卡驱动最高支持的cuda版本。

nvidia-smi

输出的表格左上角表明当前显卡驱动最高支持的cuda版本为13.0(也就是目前最新的),可以支持其及以下的所有cuda toolkit。

这是cuda发布说明中提到每个cuda版本最低要求的驱动版本

接着就可以知道你能够使用哪些版本的pytorch了,这会在pytorch官网的下载指令页直接提出,后文在下载过程中也会遇到:最新的版本,以往的所有版本。
这一步你可以选择点开官网看一下自己cuda可以支持哪些pytorch,(也可以不管)。

比如在这里,pytorch2.5.0版本里面,只支持cuda11.8 12.1 12.4. 另外cpu only的选项就是不安装cuda,提供给只用cpu训练的用户使用。
需要注意的一点是,cuda和pytorch的对应版本并不是连续的,有可能会出现cuda版本的跳跃,你只需要选择小于等于自己显卡驱动支持的最高cuda版本即可。

接下来你要根据你需要使用的pytorch版本来决定python版本,一般较新的pytorch会取消对较老版本的python的支持,较旧的pytorch也不支持较新的python。

PyTorch 版本支持 Python 版本官方支持 CUDA 版本备注
1.12.03.7 / 3.8 / 3.910.2 / 11.3较老版本,低显存 GPU 可用
1.13.13.8 / 3.9 / 3.1011.6 / 11.7支持更多新特性
2.0.03.8 / 3.9 / 3.10 / 3.1111.7 / 11.8 / 12.0首个 2.x 稳定版本
2.1.03.9 / 3.10 / 3.1111.8 / 12.1向下兼容 2.0.x API
2.6.x3.10 / 3.1112.0 / 12.1 / 12.3新增部分性能优化
2.7.03.10 / 3.1112.6 / 12.8最新稳定版本,适合 Pascal 架构 GPU

最权威的是这个pytorch发布文档了,里面写清楚了每一个版本的pytorch支持的cuda和python版本,但我相信没有人会看的。

至此你就知道了你需要安装的python+pytorch+cuda版本。

下载全流程

miniconda

下载miniconda

清华镜像站进

点击右边栏的蓝色获取下载链接,选择应用软件-conda

选择你对应的版本,一般是win64位

Miniconda3-latest (Windows/x86_64, exe)

建议不要下在c盘。

系统变量

搜索系统环境变量,点右下角环境变量。

找到path选项后双击打开

点击新建并依次增加三条内容
格式为

miniconda安装路径
miniconda安装路径\Scripts
miniconda安装路径\Library\bin

形如

之后保存即可。

然后调出cmd命令窗口,输入conda回车,如果跳出一堆配置说明系统环境变量配好了

换源

还是打开刚才的清华镜像站,在右边栏的相关链接点击使用帮助

点击anaconda,这就是anaconda的使用帮助

根据使用帮助,我们先在cmd命令行执行

conda config --set show_channel_urls yes

这样就会在当前目录下(一般就是user文件夹)生成.condarc文件,用记事本打开并使用以下这段覆盖原文:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu/anaconda/cloud

可以在命令行执行

conda config --show

来查看是否成功换源

在miniconda创建虚拟环境并下载python

(在cmd运行 miniconda没有专门的界面)
首次启用先初始化,之后创建别的环境就不用了

conda init

创建一个虚拟环境,环境名称随便取,x.xx写你希望该环境使用的python版本,如果本地没有该版本会自动下载,很方便

conda create -n 环境名称 python=x.xx

如果你没有对应版本的python,在下载过程中会弹出 [y/N]? ,需要键入 y 回车即可。

激活环境并在该环境下载pytorch+cuda

激活环境

conda activate 环境名称

执行后会出现类似于

说明你已经进入名为sr的虚拟环境

(另外如果你要退出当前环境到base环境的话,可以执行:

conda deactivate

或者直接切换环境

conda activate srL

就切换到了名为srL的环境)

之后在该环境下通过pip指令下载pytorch+cuda
这个指令可以在官网找:
最新的版本
点进去是这样。

run this command 这里直接就是下载指令

如果要查看以往的所有版本的话,可以直接点击在刚刚的界面点击红字install previous versions of PyTorch,点进去就是这样:

一般就是找你对应的v x.x.x下的 LINUX AND WINDOWS 找你想要的版本就可以了。
将pip安装指令复制过来,记住在你当前的这个虚拟环境下执行!也就是你用户名前面必须要有(name)的,形如这样:

(srL)C:\Users\lenovo>pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch/whl/cu128

好了,至此你就拥有了一个配置好的虚拟环境了,记住它的名字。

下载pycharm

pycharm中文官网 默认下载最新版本就行了,一直download,一路安装就可以了,不赘述。
另外专业版是收费的,不用管,免费版够用了。

接着看新建项目。
要新建python项目的话就点纯python

解释器一定要选择自定义环境,环境选择现有,conda的路径为 miniconda安装路径\Scripts\conda.exe,环境就选择刚才创建的虚拟环境的名字。这十分重要。

之后点击创建,当你能在右下角看到环境名字的时候,就说明创建成功了。

至此,可以开始项目了。


命令指南

如果之后你要创建新的环境,并在新的环境开始新的项目,只需要重复:

conda create 新的环境名 python=x.x.x
conda activate 环境名 # 进入新的环境
pip install cuda+torch # 安装新环境的cuda和torch
在pycharm新建工程项目并选择刚刚建的虚拟环境

其他命令

conda env list
conda activate 环境名
conda deactivate
conda remove -n 环境名 --all
# 查看PyTorch版本及CUDA支持
python -c "import torch; print('PyTorch版本:', torch.__version__)"
python -c "import torch; print('CUDA是否可用:', torch.cuda.is_available())"
python -c "import torch; print('CUDA版本:', torch.version.cuda)"  # 如果CUDA可用

pip

pip install xxx -i https://pypi.tuna.tsinghua.edu/simple # pip临时换源
pip config set global.index-url https://pypi.tuna.tsinghua.edu/simple # pip永久换源
pip config list # 查看当前源
pip install -r requirements.txt # 按照 requirements.txt 的文件内容下载依赖

如果 requirements.txt 中的部分依赖在和安装新环境的cuda和torch时一并下载的依赖有冲突,(比如说numpy 在下torch时会自动下载),不用担心,会覆盖掉上一次下载的版本的。直接pip就好。


如果之后直接打开某个项目文件夹,但是还未设置解释器,需要设置一个本地由conda管理的虚拟环境,则:

File -> Settings

Python -> Interpreter -> Add Interpreter

-> Add Local Interpreter

Select existing -> Conda -> miniconda安装路径\Scripts\conda.exe -> 环境名称


补充:jupyter

相比于pycharm,jupyter 更适用于初学者学习,后期的工程项目用 pycharm 更好。

jupyter 的安装也非常方便,这里推荐直接在 conda 环境里使用 conda install ,需要注意的是如果用 pip 安装的话可能会 陷入依赖版本回溯(dependency backtracking)的循环中。这是因为 Jupyter 的依赖关系较为复杂,pip 会在尝试找到所有包都能兼容的版本组合时卡住。

首先进入环境:(当然你可以直接在 base 环境中安装,不过可能会导致版本依赖出错,毕竟都使用环境管理工具了,一般还是在你的工程环境安装)

conda activate sr

在该环境下安装 jupyter:(之后每次打开 jupyter 也要进入相应的环境,额当然这是一句废话)

conda install jupyter

一般打开命令行默认的对话地址是C盘下的当前 user,如果你的工程文件在别的盘的话,需要先切换。比如说你需要在 D 盘下的 Mine 文件夹中打开 jupyter:

cd /d D:\Mine     # /d表示可改变盘符

打开 jupyter:

# 启动 Jupyter Notebook(传统界面)
jupyter notebook

# 或者启动 Jupyter Lab(更现代的界面)
jupyter lab

会自动跳转到浏览器的 jupyter 界面。值得一提的是,Jupyter 的核心操作界面都是在浏览器中进行的,你看到的浏览器界面是 Jupyter 的客户端(前端),而实际的计算工作是在后台的服务器(后端) 中完成的。使用 jupyter 不需要安装额外的软件,非常方便简洁。


jupyter 的代码有命令模式和编辑模式,这来源于一个史诗级难学但是学会了非常好用的编辑器 vim。

  • 可以通过 esc 键,从编辑模式转换到命令模式;enter 键,从命令模式回退到编辑模式。
  • 在命令模式下,
    • M 切换至 markdown 格式,按 Y 切换 code 格式,或者 R 切换至 Raw 格式(Raw是一种不会被执行或渲染的纯净格式);
    • B (below)在下方添加代码块,按 D 删除,X 剪切,V 粘贴, Z 撤销;
    • shift + L 给所有代码块标行
  • 在编辑模式下,按 ctrl + enter 可以快速执行或渲染当前单元块, shift + enter 执行+跳转至下一个单元块, alt + enter 执行+在下方添加一个代码块。

markdown 模块内部还支持 latex,跟 csdn 的 md 格式一样,用 $ 包裹。非常好用。

理解这一堆东西都是什么 版本之间有什么制约

┌───────────────────────────────┐
│    Miniconda/Conda            │
│  - 管理虚拟环境                │
│  - 安装不同 Python 版本        │
└──────────────┬────────────────┘
               │ create
               ▼
     ┌─────────────────────┐
     │   虚拟环境 (env)     │
     │  - Python 版本      │
     │  - PyTorch / CUDA   │
     └─────────┬───────────┘
               │
               ▼
┌───────────────────────────────┐
│          Python               │
│  - 决定可用 PyTorch 版本       │
│  - 运行你的代码                │
└──────────────┬────────────────┘
               │
               ▼
┌───────────────────────────────┐
│          PyTorch              │
│  - 深度学习框架                │
│  - 利用 CUDA 进行 GPU 加速     │
│  - 版本受 Python 和 CUDA 限制 │
└──────────────┬────────────────┘
               │
               ▼
┌───────────────────────────────┐
│          CUDA                 │
│  - GPU 并行计算平台             │
│  - 提供 GPU 加速                │
│  - 版本受 GPU 驱动 & 硬件限制 │
└──────────────┬────────────────┘
               │
               ▼
┌───────────────────────────────┐
│         GPU 驱动               │
│  - 系统全局                     │
│  - 决定可用最高 CUDA             │
│  - 支持 GPU 硬件                │
└──────────────┬────────────────┘
               │
               ▼
┌───────────────────────────────┐
│          GPU (显卡)           │
│  - 决定支持 CUDA 的最大版本     │
│  - 提供计算能力 (Compute Cap.) │
└───────────────────────────────┘

┌───────────────────────────────┐
│          PyCharm IDE           │
│  - 绑定虚拟环境运行 Python      │
│  - 不影响 CUDA/驱动            │
│  - 提供开发工具                 │
└───────────────────────────────┘

总结一下,pytorch版本是决定你dl使用工具的上限,例如1.x的版本就支持不了transform那些工具,所以一般是版本越高越好。而决定你能用什么版本的一切源头是你的硬件GPU,GPU过老会导致可能不被最新的驱动支持,这就导致可能只能使用较低版本的cuda,cuda和pytorch的版本是深度绑定的,导致你可能使用不了太高版本的pytorch从而局限了工具的使用。


所以简单来说,(假设你暂时不花钱升级GPU),首先你需要去NVIDIA官网的驱动下载页查询显卡目前最高支持的驱动并升级到最新驱动。

下载了最新驱动之后你就可以在cmd终端使用这条命令查看你当前显卡驱动最高支持的cuda版本。

nvidia-smi

输出的表格左上角表明当前显卡驱动最高支持的cuda版本为13.0(也就是目前最新的),可以支持其及以下的所有cuda toolkit。

这是cuda发布说明中提到每个cuda版本最低要求的驱动版本

接着就可以知道你能够使用哪些版本的pytorch了,这会在pytorch官网的下载指令页直接提出,后文在下载过程中也会遇到:最新的版本,以往的所有版本。
这一步你可以选择点开官网看一下自己cuda可以支持哪些pytorch,(也可以不管)。

比如在这里,pytorch2.5.0版本里面,只支持cuda11.8 12.1 12.4. 另外cpu only的选项就是不安装cuda,提供给只用cpu训练的用户使用。
需要注意的一点是,cuda和pytorch的对应版本并不是连续的,有可能会出现cuda版本的跳跃,你只需要选择小于等于自己显卡驱动支持的最高cuda版本即可。

接下来你要根据你需要使用的pytorch版本来决定python版本,一般较新的pytorch会取消对较老版本的python的支持,较旧的pytorch也不支持较新的python。

PyTorch 版本支持 Python 版本官方支持 CUDA 版本备注
1.12.03.7 / 3.8 / 3.910.2 / 11.3较老版本,低显存 GPU 可用
1.13.13.8 / 3.9 / 3.1011.6 / 11.7支持更多新特性
2.0.03.8 / 3.9 / 3.10 / 3.1111.7 / 11.8 / 12.0首个 2.x 稳定版本
2.1.03.9 / 3.10 / 3.1111.8 / 12.1向下兼容 2.0.x API
2.6.x3.10 / 3.1112.0 / 12.1 / 12.3新增部分性能优化
2.7.03.10 / 3.1112.6 / 12.8最新稳定版本,适合 Pascal 架构 GPU

最权威的是这个pytorch发布文档了,里面写清楚了每一个版本的pytorch支持的cuda和python版本,但我相信没有人会看的。

至此你就知道了你需要安装的python+pytorch+cuda版本。

下载全流程

miniconda

下载miniconda

清华镜像站进

点击右边栏的蓝色获取下载链接,选择应用软件-conda

选择你对应的版本,一般是win64位

Miniconda3-latest (Windows/x86_64, exe)

建议不要下在c盘。

系统变量

搜索系统环境变量,点右下角环境变量。

找到path选项后双击打开

点击新建并依次增加三条内容
格式为

miniconda安装路径
miniconda安装路径\Scripts
miniconda安装路径\Library\bin

形如

之后保存即可。

然后调出cmd命令窗口,输入conda回车,如果跳出一堆配置说明系统环境变量配好了

换源

还是打开刚才的清华镜像站,在右边栏的相关链接点击使用帮助

点击anaconda,这就是anaconda的使用帮助

根据使用帮助,我们先在cmd命令行执行

conda config --set show_channel_urls yes

这样就会在当前目录下(一般就是user文件夹)生成.condarc文件,用记事本打开并使用以下这段覆盖原文:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu/anaconda/cloud

可以在命令行执行

conda config --show

来查看是否成功换源

在miniconda创建虚拟环境并下载python

(在cmd运行 miniconda没有专门的界面)
首次启用先初始化,之后创建别的环境就不用了

conda init

创建一个虚拟环境,环境名称随便取,x.xx写你希望该环境使用的python版本,如果本地没有该版本会自动下载,很方便

conda create -n 环境名称 python=x.xx

如果你没有对应版本的python,在下载过程中会弹出 [y/N]? ,需要键入 y 回车即可。

激活环境并在该环境下载pytorch+cuda

激活环境

conda activate 环境名称

执行后会出现类似于

说明你已经进入名为sr的虚拟环境

(另外如果你要退出当前环境到base环境的话,可以执行:

conda deactivate

或者直接切换环境

conda activate srL

就切换到了名为srL的环境)

之后在该环境下通过pip指令下载pytorch+cuda
这个指令可以在官网找:
最新的版本
点进去是这样。

run this command 这里直接就是下载指令

如果要查看以往的所有版本的话,可以直接点击在刚刚的界面点击红字install previous versions of PyTorch,点进去就是这样:

一般就是找你对应的v x.x.x下的 LINUX AND WINDOWS 找你想要的版本就可以了。
将pip安装指令复制过来,记住在你当前的这个虚拟环境下执行!也就是你用户名前面必须要有(name)的,形如这样:

(srL)C:\Users\lenovo>pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch/whl/cu128

好了,至此你就拥有了一个配置好的虚拟环境了,记住它的名字。

下载pycharm

pycharm中文官网 默认下载最新版本就行了,一直download,一路安装就可以了,不赘述。
另外专业版是收费的,不用管,免费版够用了。

接着看新建项目。
要新建python项目的话就点纯python

解释器一定要选择自定义环境,环境选择现有,conda的路径为 miniconda安装路径\Scripts\conda.exe,环境就选择刚才创建的虚拟环境的名字。这十分重要。

之后点击创建,当你能在右下角看到环境名字的时候,就说明创建成功了。

至此,可以开始项目了。


命令指南

如果之后你要创建新的环境,并在新的环境开始新的项目,只需要重复:

conda create 新的环境名 python=x.x.x
conda activate 环境名 # 进入新的环境
pip install cuda+torch # 安装新环境的cuda和torch
在pycharm新建工程项目并选择刚刚建的虚拟环境

其他命令

conda env list
conda activate 环境名
conda deactivate
conda remove -n 环境名 --all
# 查看PyTorch版本及CUDA支持
python -c "import torch; print('PyTorch版本:', torch.__version__)"
python -c "import torch; print('CUDA是否可用:', torch.cuda.is_available())"
python -c "import torch; print('CUDA版本:', torch.version.cuda)"  # 如果CUDA可用

pip

pip install xxx -i https://pypi.tuna.tsinghua.edu/simple # pip临时换源
pip config set global.index-url https://pypi.tuna.tsinghua.edu/simple # pip永久换源
pip config list # 查看当前源
pip install -r requirements.txt # 按照 requirements.txt 的文件内容下载依赖

如果 requirements.txt 中的部分依赖在和安装新环境的cuda和torch时一并下载的依赖有冲突,(比如说numpy 在下torch时会自动下载),不用担心,会覆盖掉上一次下载的版本的。直接pip就好。


如果之后直接打开某个项目文件夹,但是还未设置解释器,需要设置一个本地由conda管理的虚拟环境,则:

File -> Settings

Python -> Interpreter -> Add Interpreter

-> Add Local Interpreter

Select existing -> Conda -> miniconda安装路径\Scripts\conda.exe -> 环境名称


补充:jupyter

相比于pycharm,jupyter 更适用于初学者学习,后期的工程项目用 pycharm 更好。

jupyter 的安装也非常方便,这里推荐直接在 conda 环境里使用 conda install ,需要注意的是如果用 pip 安装的话可能会 陷入依赖版本回溯(dependency backtracking)的循环中。这是因为 Jupyter 的依赖关系较为复杂,pip 会在尝试找到所有包都能兼容的版本组合时卡住。

首先进入环境:(当然你可以直接在 base 环境中安装,不过可能会导致版本依赖出错,毕竟都使用环境管理工具了,一般还是在你的工程环境安装)

conda activate sr

在该环境下安装 jupyter:(之后每次打开 jupyter 也要进入相应的环境,额当然这是一句废话)

conda install jupyter

一般打开命令行默认的对话地址是C盘下的当前 user,如果你的工程文件在别的盘的话,需要先切换。比如说你需要在 D 盘下的 Mine 文件夹中打开 jupyter:

cd /d D:\Mine     # /d表示可改变盘符

打开 jupyter:

# 启动 Jupyter Notebook(传统界面)
jupyter notebook

# 或者启动 Jupyter Lab(更现代的界面)
jupyter lab

会自动跳转到浏览器的 jupyter 界面。值得一提的是,Jupyter 的核心操作界面都是在浏览器中进行的,你看到的浏览器界面是 Jupyter 的客户端(前端),而实际的计算工作是在后台的服务器(后端) 中完成的。使用 jupyter 不需要安装额外的软件,非常方便简洁。


jupyter 的代码有命令模式和编辑模式,这来源于一个史诗级难学但是学会了非常好用的编辑器 vim。

  • 可以通过 esc 键,从编辑模式转换到命令模式;enter 键,从命令模式回退到编辑模式。
  • 在命令模式下,
    • M 切换至 markdown 格式,按 Y 切换 code 格式,或者 R 切换至 Raw 格式(Raw是一种不会被执行或渲染的纯净格式);
    • B (below)在下方添加代码块,按 D 删除,X 剪切,V 粘贴, Z 撤销;
    • shift + L 给所有代码块标行
  • 在编辑模式下,按 ctrl + enter 可以快速执行或渲染当前单元块, shift + enter 执行+跳转至下一个单元块, alt + enter 执行+在下方添加一个代码块。

markdown 模块内部还支持 latex,跟 csdn 的 md 格式一样,用 $ 包裹。非常好用。

本文标签: 环境好难PycharmMinicondadl