Anaconda3 的安装及使用方法
安装 Anaconda3
Anaconda3 是 Anaconda 的具体版本
Anaconda3 中的 Python 解释器默认使用的是 Python3.x 版本,而不是 Python2.x 版本
Python2.x 版本中,字符串是以 ASCII 编码处理的,而在 Python3.x 版本中,字符串是以 Unicode 编码处理的
安装 Anaconda 的最佳方法是下载最新的安装程序 bash 脚本, 然后运行它
如果下载速度太慢的话,也可以通过清华大学开源软件镜像站下载
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博客