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

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 环境

后面要修改的话,就直接 文件 --- 设置 -- 项目:XXX -- Python 解释器

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博客

相关推荐
网络研究院37 分钟前
如何安全地大规模部署 GenAI 应用程序
网络·人工智能·安全·ai·部署·观点
凭栏落花侧42 分钟前
决策树:简单易懂的预测模型
人工智能·算法·决策树·机器学习·信息可视化·数据挖掘·数据分析
xiandong204 小时前
240929-CGAN条件生成对抗网络
图像处理·人工智能·深度学习·神经网络·生成对抗网络·计算机视觉
innutritious5 小时前
车辆重识别(2020NIPS去噪扩散概率模型)论文阅读2024/9/27
人工智能·深度学习·计算机视觉
醒了就刷牙5 小时前
56 门控循环单元(GRU)_by《李沐:动手学深度学习v2》pytorch版
pytorch·深度学习·gru
橙子小哥的代码世界5 小时前
【深度学习】05-RNN循环神经网络-02- RNN循环神经网络的发展历史与演化趋势/LSTM/GRU/Transformer
人工智能·pytorch·rnn·深度学习·神经网络·lstm·transformer
985小水博一枚呀7 小时前
【深度学习基础模型】神经图灵机(Neural Turing Machines, NTM)详细理解并附实现代码。
人工智能·python·rnn·深度学习·lstm·ntm
SEU-WYL8 小时前
基于深度学习的任务序列中的快速适应
人工智能·深度学习
OCR_wintone4218 小时前
中安未来 OCR—— 开启高效驾驶证识别新时代
人工智能·汽车·ocr
matlabgoodboy8 小时前
“图像识别技术:重塑生活与工作的未来”
大数据·人工智能·生活