Y9000P + ubuntu22.04 配置Anaconda+pycharm +pytorch

发布时间:2023年12月26日


Anaconda3 的安装及使用方法
安装 Anaconda3

??? Anaconda3 是 Anaconda 的具体版本

Anaconda3 中的 Python 解释器默认使用的是 Python3.x 版本,而不是 Python2.x 版本

Python2.x 版本中,字符串是以 ASCII 编码处理的,而在 Python3.x 版本中,字符串是以 Unicode 编码处理的

??? 安装 Anaconda 的最佳方法是下载最新的安装程序 bash 脚本, 然后运行它

Free Download | Anaconda

如果下载速度太慢的话,也可以通过清华大学开源软件镜像站下载

Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

进入安装脚本所在的目录,运行它

bash Anaconda3-2023.09-0-Linux-x86_64.sh

一路回车和 yes
最后选择安装位置,我这里选择默认

安装过程中系统PATH有变动,需要source一下

source ~/.bashrc

此时命令行前会出现 (bash) 字样,这是因为安装过程中在PATH中添加了conda初始化代码,自动激活了 base 环境
所以这里就直接进入了 Conda 的 base 环境,换一个终端也还是激活状态,比较烦人…

base 环境是 Anaconda 安装时自动创建的默认环境
这个环境中包含了 Anaconda 中的 Python 解释器和一些核心库,如 NumPy、Matplotlib 等
除了 base 环境之外,你应该创建其他的 Conda 环境,每个环境互相独立,都是一个独立的 Python 运行环境,可以包含不版本的 Python 解释器和其他库

?禁止Conda 自动激活 base 环境

输入以下指令,然后重启终端即可

conda config --set auto_activate_base false

?如果再想进入 base 环境,只需要手动激活即可,不过只对当前终端有效

conda activate base

虚拟环境中的 Python 解释器版本和 Ubuntu22.04 自带的版本并不一致

?验证 Anaconda 是否安装成功

conda --version

# 列出当前激活环境(没激活的话,默认是 base 环境)中安装的所有包以及Python解释器
conda list

常用的 Conda 命令
  • 配置 conda 镜像源

创建虚拟环境的时候,下载太慢了,老出问题
换成国内的源

# 查看当前镜像源
conda config --show channels

# 添加清华源
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

# 从channel中安装包时显示channel的url,这样就可以知道包的安装来源
conda config --set show_channel_urls yes 
 
# 清除索引缓存,保证用的是镜像站提供的索引
conda clean -i

?

或者直接修改 ~/.condarc(最强硬)

sudo gedit ~/.condarc

文本替换成下面的内容

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - defaults
auto_activate_base: false
show_channel_urls: true

  • 虚拟环境管理

注意:我们可以将前面带有两个短线(–)的常用命令进行缩写(并不是所有的都可以缩写)
方法:是取一个短线和选项的首字母
例1:–name 可以缩写成 -n
例2:–envs 可以缩写成 -e

# 列出所有已创建的 Conda 虚拟环境及其信息,包括环境名称、路径、Python解释器的版本
conda info --envs

# 创建虚拟环境
conda create --name <虚拟环境名>

# 创建虚拟环境 + 指定Python解释器的版本为3.7
conda create --name <虚拟环境名> python=3.7

# 创建虚拟环境 + 指定Python解释器的版本为3.7 + 指定虚拟环境路径
# 如果不手动指定安装路径的话,虚拟环境默认安装在 /home/yao/anaconda3/envs (除了 base 环境)
conda create --prefix /path/to/envs --name <虚拟环境名> python=3.7

# 激活虚拟环境,使环境中的Python解释器和库可用
conda activate <虚拟环境名>

# 退出虚拟环境
conda deactivate

# 删除虚拟环境(包括环境中的所有包和文件)
conda remove --name <虚拟环境名> --all

我这里新建了一个虚拟环境 myEnv,Python解释器版本选择 3.7

虚拟环境中的 Python 解释器被安装在 bin 目录下
这点很重要,后面用 Pycharm 创建项目需要选上

包管理

# 安装包
# pip install PackageName # 用 pip 安装 也可以
conda install PackageName

# 安装多个包
conda install PackageName1 PackageName2 ...

# 安装包并指定版本号
# pip install PackageName==版本号 # 注意这里是两个等号
conda install PackageName=版本号  # 注意这里是一个等号

# 卸载包
conda remove PackageName

# 更新包
conda update PackageName

# 更新环境中的所有包
conda update --all

# 列出已安装的包
conda list

# 搜寻包
conda search PackageName

Pycharm 的安装及使用方法

安装 Pycharm

下载免费的社区版即可
专业版需要激活

?解压缩

tar -xvf pycharm-professional-2023.2.2.tar.gz

# 然后把解压缩文件复制到家目录
mv pycharm-community-2023.2.2 ~

进入 Pycharm 目录下的 bin 目录,然后运行安装脚本

cd ~/pycharm-community-2023.2.2/bin
sh ./pycharm.sh

选择 Continue

在打开 Pycharm 启动页面后,在左下角的 configure 选项中选择 ”Create Desktop Entry “ 创建桌面快捷方式

汉化
  • 打开 Pycharm,找到 Plugins,搜索 Chinese,然后安装中文语言包

卸载 Pycharm

上文已经提到所有的程序相关文件都保存在了 /home/yao/pycharm-community-2023.2.2 目录下
配置信息文件是在/home/yao/.config/JetBrains 下的 PyCharmCE2023.2 目录中
缓存文件是在/home/yao/.cache/JetBrains 下的 PyCharmCE2023.2 目录中
?

?Pycharm 和 Anaconda 关联
4.1 新建项目,选择已有的 Conda 环境

打开 Pycharm
新建一个项目,起名 testProject
然后可以选择我们之前创建好的虚拟环境(也可以自己新建一个 Conda 虚拟环境)
这里就会自动选上 Conda 虚拟环境中的 Python解释器
在这里插入图片描述

4.2 更换 Conda 环境

后面要修改的话,就直接 文件设置项目:XXXPython 解释器
在这里插入图片描述

Python 控制台:启动 Python 解释器,进入交互式 Python 环境
在这个环境中,你输入 Python 代码会被立即执行,便于代码调试
在这里插入图片描述

5. 在 Conda 环境中安装 Pytorch 和 torchvision
5.1 Pytorch 和 torchvision 简介

??? Pytorch:是一个非常 NB 的开源机器学习库,用于构建深度学习模型

??? torchvision:是 Pytorch 的一个扩展包,提高了一系列用于处理图像和视频数据的功能,包括数据加载、预处理、数据转换、模型定义和评估等

5.2 必须与 Python 解释器兼容

Pytorch、torchvision 版本必须和 Python 解释器版本 兼容

5.3 必须与 CUDA 版本对应

Pytorch、torchvision 版本必须和你的 CUDA 版本 对应起来!!!

推荐去官网:根据版本选择安装指令
可以选择 Conda 或者 Pip 安装,这是两个不同的包管理器,都可以用,不过指令略有不同

??? 我的 Ubuntu系统中没装 Pip,但是Conda 的虚拟环境中预装了 Pip,所以可以在激活的环境中使用

但是我这里安装的是 CUDA 11.7,所以我只能安装 CUDA 11.7 及以下的版本的 Pytorch 包,得去找历史版本
历史版本

例如:Pytorch 版本 2.0.1 ,支持 CUDA 11.7

通过 conda 安装

-c pytorch-c nvidia 中的 c 表示 channel,指定了软件包的来源,分别是 Pytorch 和 NVIDIA 的 conda 仓库,所以很有可能会出现安装非常缓慢的情况

可以选择国内的镜像源来下载

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/
  - defaults
auto_activate_base: false
show_channel_urls: true

?如果配置了国内镜像源,安装时把 -c pytorch-c nvidia 删掉即可

  • 通过 pip 安装

直接输指令即可

5.4 安装 & 冲突解决
  • 用 conda 安装
# 新建一个虚拟环境,选择 Python 解释器版本为 3.9
conda create --name myEnv39 python=3.9

# 激活创建好的环境,否则会安装到默认的 base 环境中
conda activate myEnv39

# 安装
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7

# 查看已安装的包
conda list

# 退出虚拟环境
conda deactivate

# 删除虚拟环境(包括环境中的所有包和文件)
conda remove --name myEnv39 --all

一堆冲突!!!

(myEnv39) yao@myUbuntu:~$ conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7
Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: unsuccessful initial attempt using frozen solve. Retrying with flexible solve.
Solving environment: \ 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                   

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - torchaudio==2.0.2 -> python[version='2.7.*|3.5.*|3.6.*|>=2.7,<2.8.0a0|>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.5,<3.6.0a0|3.4.*']

Your python: python=3.9

If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.

The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package pytorch-cuda conflicts for:
torchvision==0.15.2 -> pytorch==2.0.1 -> pytorch-cuda[version='>=11.6,<11.7|>=11.7,<11.8|>=11.8,<11.9|>=12.1,<12.2']
torchvision==0.15.2 -> pytorch-cuda[version='11.7.*|11.8.*']
torchaudio==2.0.2 -> pytorch==2.0.1 -> pytorch-cuda[version='>=11.7,<11.8|>=11.8,<11.9']
pytorch==2.0.1 -> pytorch-cuda[version='>=11.7,<11.8|>=11.8,<11.9']
torchaudio==2.0.2 -> pytorch-cuda[version='11.7.*|11.8.*']

Package pytorch conflicts for:
torchvision==0.15.2 -> pytorch==2.0.1
torchaudio==2.0.2 -> pytorch==2.0.1

Package openblas conflicts for:
torchaudio==2.0.2 -> numpy[version='>=1.11'] -> openblas[version='0.2.14|0.2.19']
torchvision==0.15.2 -> numpy[version='>=1.11'] -> openblas[version='0.2.14|0.2.19']

Package typing conflicts for:
torchvision==0.15.2 -> pytorch -> typing
pytorch==2.0.1 -> typing_extensions -> typing[version='>=3.7.4']

Package _libgcc_mutex conflicts for:
python=3.9 -> libgcc-ng[version='>=11.2.0'] -> _libgcc_mutex[version='*|0.1',build=main]
torchvision==0.15.2 -> libgcc-ng[version='>=11.2.0'] -> _libgcc_mutex[version='*|0.1',build=main]
pytorch==2.0.1 -> _openmp_mutex -> _libgcc_mutex[version='*|0.1',build=main]The following specifications were found to be incompatible with your system:

  - feature:/linux-64::__cuda==12.2=0
  - feature:/linux-64::__glibc==2.35=0
  - feature:|@/linux-64::__cuda==12.2=0
  - feature:|@/linux-64::__glibc==2.35=0
  - pytorch==2.0.1 -> __cuda[version='>=11.8']
  - pytorch==2.0.1 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - torchaudio==2.0.2 -> pytorch==2.0.1 -> __cuda[version='>=11.8']
  - torchvision==0.15.2 -> libgcc-ng[version='>=11.2.0'] -> __glibc[version='>=2.17']
  - torchvision==0.15.2 -> pytorch==2.0.1 -> __cuda[version='>=11.8']

Your installed version is: 12.2

冲突好像是因为用了国内源,换成用 -c pytorch-c nvidia 从官网下载就可以安葬,不会有这些冲突
但速度很慢,最后会因为超时而结束(可以把代理关了,速度会提升
在这里插入图片描述

网上搜了一下
conda 只适合用来环境隔离!作为 virtualenv 的上位替代品!
建议用 conda 创建空的 env,然后用 pip 进行各种 package 的安装

  • 用 pip 安装

可以先配置一下清华源(但对我好像没啥用)

# 激活环境
conda activate myEnv39

# 永久修改
pip config set global.index-url http://pypi.tuna.tsinghua.edu.cn/simple

# 检查是否配置成功
pip config get global.index-url

或者直接修改配置文件

sudo gedit ~/.config/pip/pip.conf

添加文本

[global]
index-url = http://pypi.tuna.tsinghua.edu.cn/simple

然后就可以去安装了
注意把后面的 --index-url https://download.pytorch.org/whl/cu117 删了
不然会覆盖你配置文件中设置的默认源

# CUDA 11.7
pip install torch==2.0.1+cu117 torchvision==0.15.2+cu117 torchaudio==2.0.2

# 消除警告
pip --trusted-host pypi.tuna.tsinghua.edu.cn install torch==2.0.1+cu117 torchvision==0.15.2+cu117 torchaudio==2.0.2

清华源中,没有这个版本!也可能是开了代理,关闭代理重启电脑再试试看

换成 pytorch 1.10.0 试试看
但只能找到支持 CUDA 11.1 的,我的 CUDA 11.7 应该能向下兼容,先装了再说

# CUDA 11.1
pip install torch==1.10.0+cu111 torchvision==0.11.0+cu111 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html

# 消除警告
pip --trusted-host pypi.tuna.tsinghua.edu.cn install torch==1.10.0+cu111 torchvision==0.11.0+cu111 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html

# 检查是否安装成功
conda list

度还挺快的!但貌似添加的清华源没起到一点作用!!还是从 -f 附加的包索引源下载!!很迷
在这里插入图片描述

?删掉 -f 附加的包索引源,再试一次
还是会报错,找不到符合的 torch 很迷

ERROR: Could not find a version that satisfies the requirement torch==1.10.0+cu111 (from versions: none)
ERROR: No matching distribution found for torch==1.10.0+cu111

总结:关闭代理!!!!!!

原文链接:

二十一、Ubuntu22.04 配置 Anaconda + Pycharm + Pytorch_ubuntu安装anaconda和pycharm-CSDN博客

文章来源:https://blog.csdn.net/LSG_Down/article/details/135214022
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。