Anaconda官网:Anaconda | The World’s Most Popular Data Science Platform
Anaconda官方文档:Conda — conda 4.14.0.post18+bc4d0e393 documentation
Anaconda是一个Python和R语言的工具,专注于数据科学领域。由于我只使用Python,因此本文只会介绍Python相关的内容。
本文介绍使用Anaconda相关使用教程。
文章目录
1. 安装anaconda
最新版安装包下载地址(跳过注册环节):https://www.anaconda.com/download/success
所有anaconda安装包的下载地址:Anaconda | Anaconda Distribution
Anaconda官方安装教程:Installation — Anaconda documentation
1.1 Linux环境
(2025.2.27)Anaconda安装包:https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
Anaconda官方安装教程:Installing on Linux — Anaconda documentation
但是我实际上安了Miniconda,因为Anaconda包越更新越大了,所以安装过程(第三步)特别慢。Miniconda的安装过程跟Anaconda差不多,区别就是base环境少一些包,但是我本来就主要用虚拟环境,所以正适合Miniconda。
Miniconda的最新版安装包:https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
- 下载安装包:
wget 安装包链接
- (推荐,但是可以不做)Verify the installer’s data integrity with SHA-256(原理我还没看):
shasum -a 256 安装包下载路径
bash 安装包下载路径
然后不停按回车,然后不停输入yes
在更改安装路径的时候可以更改安装路径。
(这里需要注意的是如果用的是WSL最好安装在Linux路径里,不要安装在Windows路径(也就是挂载在/mnt/下的盘),这个具体的我也不知道为什么,总之一是这样会速度很慢,二是无法直接从其他Linux电脑上直接搬虚拟环境过来用(也就是本文6.3节介绍的功能))- 然后重启terminal(在VSCode里就是直接打开一个新的terminal),就直接进入anaconda环境了:
1.2 Windows 10
(2023.5.20)安装包:https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Windows-x86_64.exe
可以直接看视频教程:如何安装Anaconda_哔哩哔哩_bilibili
VSCode+Anaconda运行Python代码_哔哩哔哩_bilibili
直接打开安装包:
这里没有勾上的一项是添加环境变量。如果对Python和anaconda毫无了解,建议勾上,以后就可以直接用python
conda
等命令在终端运行代码了。
如果不勾,可以用自动添加的终端,也可以在本机终端运行如下命令进入虚拟环境:D:\allApplications\forPython\anaconda20230708\Scripts\activate
(注意在VSCode中有一个细微的点:如果用powershell会直接弹出anaconda的终端窗口,所以得用command prompt)
或者在VSCode中,设置Python解释器,并直接运行代码:D:\allApplications\forPython\anaconda20230708\python.exe
如果想手动设置环境变量,以将Anaconda安装到d:\allapplications\foranaconda
路径下为例,打开“控制面板” > “系统” > “高级系统设置” > “环境变量”,在“系统变量”下找到 Path 变量并选择它,然后点击“编辑”,添加如下路径:
D:\allapplications\foranaconda
D:\allapplications\foranaconda\Scripts
D:\allapplications\foranaconda\Library\bin
然后就可以通过conda activate d:\allapplications\foranaconda
来激活虚拟环境了。
不过这都是后续的事了,反正在安装Anaconda的当下是:
(Win10)在开始菜单出现以下内容,就说明安装成功了:
1.3 云端
(2023.5.20)注册一个账号然后进入网页。
需要注意的是,环境中的pip路径是用户不可写入的,所以无法直接pip install
并import
,需要先pip install
,确定包的安装位置(如./.local/lib/python3.9/site-packages
),然后在import
之前补:
import sys
sys.path.append('./.local/lib/python3.9/site-packages')
2. 使用anaconda创建和管理虚拟环境
官方文档相应内容的网址:Managing environments — conda 4.13.0.post13+775c20cb documentation
- 查看conda的全部信息:
conda info
- 查看当前所有已安装的虚拟环境:
conda env list
或者conda info -e
- 新建虚拟环境:
conda create -n 虚拟环境名称 python=3.8 pip
(Python版本可以不指定,pip等包可以在安装时就指定)
如果想要指定虚拟环境的安装文件夹:conda create --prefix=D:\WebApp\Projects\djangoproject
1
如果想要根据指定environment.yml
安装虚拟环境,可使用:conda env create -f environment.yml --name 新环境名
(这里的新环境名会覆盖)environment.yml
中制定的环境名(--name
可以换成-n
) - 激活虚拟环境:
conda activate 虚拟环境名称
(我的Windows环境用的是CALL conda.bat activate 虚拟环境名称
,但是不知道为什么不能直接在VSCode的shell上运行,而是要用Windows的cmd界面) - 在虚拟环境中
- 用conda安装包的一般命令:
conda install -n 虚拟环境名称 包名
(如果已在指定虚拟环境中,不需要-n
)2- 参数
-c
源(如conda-forge、pytorch)--force-reinstall
:如果已经安装了这个包,强制重新安装--update-all, --all
:更新当前环境中安装的所有包
- 参数
- 用conda更新包的一般命令:
conda update 包名
- 更新也可以直接匹配整个
yml
文件:conda env update -f environment.yml
- 查看当前使用的pip或conda的地址:
which pip/conda
(pip一般在虚拟环境下,conda是用户路径下全局的) - 查看conda版本:
conda --version
- 用conda安装包的一般命令:
- 查看所有个性化设置:
conda config --show-sources
- 查看所有安装的包:
conda list --show-channel-urls
conda config --set auto_activate_base False
用于配置 Conda 环境,以便在启动时不自动激活 base 环境。
Conda 的 base 环境是安装时默认创建的环境,它包含了 Conda 自身及一些基本的工具和库。默认情况下,当你打开一个新的终端会话时,Conda 会自动激活这个 base 环境。这意味着你会立即看到一个环境提示符(通常是(base)
),表明 base 环境已经被激活。
如果你不希望每次打开终端都自动激活 base 环境,可以使用上述命令来改变这个设置。设置auto_activate_base
为False
后,你需要手动激活 base 环境(或任何其他环境),使用如下命令:
这个配置有助于避免一些不需要使用 Conda 环境的情况下的资源消耗,也可以减少可能的环境冲突,特别是在你有多个项目,每个项目使用不同环境的情况下。conda activate base
3. 使用anaconda更新Python版本
参考macos - How do I upgrade to Python 3.6 with conda? - Stack Overflow
举例来说,我一开始安装了3.7版本的环境(创造命令为:conda create -n 虚拟环境名 python==3.7
),但是因为我需要使用3.8版本之后的其他包,因此需要更新Python版本,因此我使用命令行:conda install python==3.8
然后大多数别的依赖Python版本的包都会失效,需要重新安装。
4. 更新anaconda版本
当使用conda命令时,如果anaconda版本较老,一般都会直接提醒更新
命令:conda update -n base -c defaults conda
5. 删除没有用过的Python包和缓存
conda clean
参数
-a, --all
:删除index cache, lock files, unused cache packages, and tarballs(有时用anaconda安装包失败,会推荐使用这个命令来清除缓存)-i
:清除索引缓存
6. 转移anaconda包
主要适用场景是包太多了懒得一个一个重新装了。
6.1 将整个anaconda文件夹直接转移到另一个文件夹
主要需要解决路径错误的问题。
可以参考这个博文:解决在linux移动anaconda到其他文件夹,conda: command not found的问题_栗子酱15551的博客-CSDN博客
大致逻辑是:将整个anaconda包转移过去之后,修改.bashrc
和其他anaconda配置文件(conda/activate/deactivate/pip)里的路径。
在改完.bashrc
后需要手动运行一下source ~/.bashrc
在这篇博文的基础上,还有一些别的包,可能会突然报错说路径不对。比如bypy包在运行bypy list
时就可能报错:bash: new_path/anaconda3/envs/envgraph1/bin/bypy: old_path/anaconda3/envs/envgraph1/bin/python3.8: bad interpreter: No such file or directory
解决方法跟博文里说的别的文档一样,就直接打开new_path/anaconda3/envs/envgraph1/bin/bypy
(用VSCode的话,在terminal里就可以直接用编辑器打开,不用vi命令),把第一行的路径改成新路径。
需要注意的是,不能直接替换所有这样的路径,否则会出现Segmentation fault (core dumped)
问题,然后我就只能卸载重装了。为什么会这样我也不知道,反正不行。
6.2 直接将一个anaconda虚拟环境转移到另一个环境中:使用conda-pack包
官方文档:Conda-Pack — conda-pack 0.7.0 documentation
官方GitHub项目:conda/conda-pack: Package conda environments for redistribution
(VSCode显示是virtualenv在管理环境,这点有些奇怪,我也不知道这是个啥原理)
我是将一台Linux服务器上的env17环境直接迁移到了另一台Linux服务器上:
旧电脑上:
conda install conda-pack
在env17环境下:conda pack
将打包得到的文件scp
到新电脑上
新电脑上:
mkdir -p env17
tar -xzf downloads/anaconda3.tar.gz -C env17
./env17/bin/python
每次调用source env17/bin/activate
进入虚拟环境
退出虚拟环境:source env17/bin/deactivate
6.3 直接转移Anaconda虚拟环境
似乎只要保证使用同样的操作系统就可以?Windows系统的话,是直接将envs文件夹下的整个环境都转移到另一台电脑的envs文件夹下,就可以直接出现在conda env list
中,呆胶布。
Linux系统的话,我在miniconda下试过这么干,也是可以的。
7. 卸载Miniconda
1. Linux服务器
首先退出虚拟环境:conda deactivate
比较新版本的Miniconda在安装路径下有uninstall.sh,直接执行就行:~/miniconda3/uninstall.sh
(你改成你的真实路径就行)
7. 在使用过程中遇到问题的解决方案
在anaconda官方GitHub项目里提issue:https://github.com/conda/conda/issues
- I got update warning message but unable to update · Issue #12519 · conda/conda
(然后就会有一堆人凑上来说我也有类似的问题,然后巴拉巴拉的最后就想出办法来解决了) - 在安装PyTorch包的时候出现这样的问题(这是输出的最后几行):
解决方案:CondaVerificationError: The package for pytorch located at /data/wanghuijuan/anaconda/anaconda3/pkgs/pytorch-2.0.1-py3.8_cuda11.7_cudnn8.5.0_0 appears to be corrupted. The path 'lib/python3.8/site-packages/torchgen/static_runtime/__pycache__/generator.cpython-38.pyc' specified in the package manifest cannot be found. ClobberError: This transaction has incompatible packages due to a shared path. packages: nvidia/linux-64::cuda-cupti-11.7.101-0, nvidia/linux-64::cuda-nvtx-11.7.91-0 path: 'LICENSE'
conda clean --all
3 - AttributeError: module ‘lib‘ has no attribute ‘OpenSSL_add_all_algorithms‘
8. anaconda更换下载源
换源的代码以后再写。
总之清除源的代码是:conda config --remove-key channels
4
7. 其他本文撰写过程中使用的参考资料
- Python-Anaconda最新安装图文教程
- Windows10环境下激活虚拟环境报错【source : 无法将“source”项识别为 cmdlet、函数、脚本文件或可运行程序的名称】_牛奶咖啡13的博客-CSDN博客
- 安装多个版本python共存问题_where python出现两个路径_Ldw_bomber的博客-CSDN博客
Anaconda下建立虚拟环境,安装Django_conda创建env安装django依赖_arrebol的博客-CSDN博客 ↩︎
https://docs.conda.io/projects/conda/en/stable/commands/install.html ↩︎
解决CondaVerificationError: The package for pytorch located at…_edward_zcl的博客-CSDN博客 ↩︎
conda(anaconda)删除清华源,改回原源_在.condarc中将源切换回官方的anaconda.org(删除清华源)-CSDN博客 ↩︎