目录
一、安装Anaconda
Anaconda与Miniconda区别
Anaconda是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等等。Miniconda只包含最基本的内容,python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。它只包含最基本的东西,其他的库需要自行安装。
- 功能角度:Anaconda=Miniconda
- 大小角度:Anaconda > Miniconda
- 功能多少:Anaconda > Minicond
1、Linux安装conda
1、Linux安装anaconda(推荐在线安装)
从官网下载安装包
更多版本可以参考官网文档:Anaconda官网
我这里下载是最新版2023.08
wget https://repo.anaconda.com/archive/Anaconda3-2023.07-2-Linux-x86_64.sh
静默安装(推荐)
bash Anaconda3-2023.07-2-Linux-x86_64.sh -b |
默认安装路径/root/anaconda3
如果需要指定路径加
-p 安装路径
正常安装一直回车确认
bash Anaconda3-2023.07-2-Linux-x86_64.sh |
然后一路回车就行
安装完成后
如果是静默安装,需要手动加一下环境变量(推荐),如果需要进shell默认进入base环境,也需要手动改一下配置文件(不推荐)
加环境变量,编辑/etc/profile
vim /etc/profile |
在末尾添加
# setting path fpr anaconda export PATH=$PATH:/root/anaconda3/bin |
刷新环境变量
source /etc/profile |
静默安装到需要手动初始化
conda init conda init bash #(Linux默认的bash) 或者conda init zsh # (mac有些用的zsh) |
然后重新登陆shell
查看版本号
conda -V |
推荐设置4个参数
conda config --set auto_update_conda False conda config --set auto_activate_base False conda config --set always_yes True conda config --append channels conda-forge |
关闭conda自动更新
conda config --set auto_update_conda False |
如果每次打开窗口都是默认的base环境,需要取消,修改配置文件
conda config --set auto_activate_base False |
关闭每次下载都需要确认,默认为False
.
conda config --set always_yes True |
将“conda-forge”通道添加为“默认”通道的备份
conda config --append channels conda-forge |
conda下载的python第三方包路径
/root/anaconda3/envs/locust/lib/python3.11/site-packages
anaconda初始化后自动在/~/.bashrc文件生成如下环境变量
# >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! __conda_setup="$('/root/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else if [ -f "/root/anaconda3/etc/profile.d/conda.sh" ]; then . "/root/anaconda3/etc/profile.d/conda.sh" else export PATH="/root/anaconda3/bin:$PATH" fi fi unset __conda_setup # <<< conda initialize <<< |
2,Linux安装miniconda(推荐离线安装)
Miniconda是一个免费的conda最低安装程序。它是Anaconda的一个小型引导程序版本,只包括conda、Python、它们都依赖的包,以及少量其他有用的包(如pip、zlib和其他一些包)。如果您需要更多的软件包,请使用conda-install命令从Anaconda的公共repo中默认提供的数千个软件包进行安装,或者从其他渠道进行安装,如conda-forge或bioda。
mkdir -p ~/miniconda3 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 rm -rf ~/miniconda3/miniconda.sh |
安装后,初始化新安装的 Miniconda。以下命令针对 bash 和 zsh shell 进行初始化:
~/miniconda3/bin/conda init bash ~/miniconda3/bin/conda init zsh |
2、Macos安装Anaconda
从官网下载安装包:下载页面
M1/M2芯片安装包
culr -O https://repo.anaconda.com/archive/Anaconda3-2023.07-2-MacOSX-arm64.pkg |
然后一路点击安装,即可安装成功
也可以跟Linux一样,使用命令行安装,下载mac版本包,跟Linux步骤一样,安装完成即可
二、Anacond常用命令
命令官方文档
所有命令行官方文档:Anaconda命令官网
Conda、pip 与 virtualenv 命令差异
如果您过去使用过 pip 和 virtualenv,则可以使用 conda 执行所有相同的操作。Pip 是一个包管理器,virtualenv 是一个环境管理器。康达两者兼而有之。
向右滚动可查看整个表格。
任务 | Conda 包和环境管理器命令 | Pip 包管理器命令 | Virtualenv 环境管理器命令 |
---|---|---|---|
安装一个包 |
|
| X |
更新一个包 |
|
| X |
更新包管理器 |
| Linux/macOS:win:
| X |
卸载一个包 |
|
| X |
创造环境 |
| X |
|
激活环境 |
| X |
|
停用环境 |
| X |
|
搜索可用的包 |
|
| X |
从特定来源安装包 |
|
| X |
列出已安装的软件包 |
|
| X |
创建需求文件 |
|
| X |
列出所有环境 |
| X | 安装 virtualenv 包装器,然后 |
安装其他包管理器 |
|
| X |
安装Python |
| X | X |
更新Python |
| X | X |
*仅适用于 conda 4.6 及更高版本。对于 4.6 之前的 conda 版本,请键入:conda activate
windows:
activate
Linux 和 macOS:
source activate
*更新到该系列中的最新版本,因此任何 Python 2.x 都将更新到最新的 2.x,任何 Python 3.x 都将更新到最新的 3.x。conda update python
conda管理环境
官方文档:管理环境
创建conda环境
conda create
从指定包列表创建新的 conda 环境。要使用新创建的环境,请使用“conda activate envname”。此命令需要 -n NAME 或 -p PREFIX 选项。
usage: conda create [-h] [--clone ENV] (-n ENVIRONMENT | -p PATH) [-c CHANNEL] [--use-local] [--override-channels] [--repodata-fn REPODATA_FNS] [--experimental {jlap,lock}] [--strict-channel-priority] [--no-channel-priority] [--no-deps | --only-deps] [--no-pin] [--copy] [-C] [-k] [--offline] [--json] [-v] [-q] [-d] [-y] [--download-only] [--show-channel-urls] [--file FILE] [--no-default-packages] [--solver {classic} | --experimental-solver {classic}] [--dev] [package_spec ...]
查看所有的环境
conda env list conda info-e |
创建一个空的环境,名字为test
conda create -n test |
创建一个包含python3.9包的环境,命名为py39
conda create -n py39 python=3.9 |
创建一个包含python3.9包的环境,自定义环境路径为/root/py39
conda create -p /root/py39 python=3.9 |
conda创建的环境,默认路径
base路径:/root/anaconda3
py39路径,/root/py39
其中可执行文件如python版本,安装在bin目录
/root/py39/bin=
共享环境,从yaml文件创建环境
不可跨平台,比如linux-->mac,或者mac-->linux,只能mac-->mac,Linux→>Linux
要跨平台兼容性使用,可以加这个参数,--from-history,导出的文件可以跨平台使用
conda env export --from-history > environment.yml |
导出 environment.yml文件
conda env export > environment.yml |
创建相同的环境
conda env create -f environment.yml |
如果环境已经存在,但是需要更新部分包
conda env update -f locust_linux.yml |
克隆环境
从myenv克隆到myclone环境
conda create --name myclone --clone myenv |
下载bs4包
conda search beautifulsoup4 |
构建相同的conda环境
在当前工作目录中将此规范列表创建为文件
conda list --explicit > spec-file.txt |
在另外一台机器创建相同的环境
conda create --name myenv --file spec-file.txt |
下载当前的包到myenv环境中
conda install --name myenv --file spec-file.txt |
激活环境py39
conda activate py39 |
停用环境
conda deactivate |
查看环境中的包列表,可以判断python版本信息
conda list -n py39 |
查看环境中是否安装了python包
conda list -n myenv python |
恢复环境
Conda 保留对环境所做的所有更改的历史记录,因此您可以轻松“回滚”到以前的版本。
列出当前环境的每次更改的历史记录:
conda list --revisions |
要将环境恢复到以前的版本
conda install --rev 版本号 |
删除环境
删除名为py39的环境
conda env remove -n py39 |
conda配置文件
conda默认的配置文件在安装目录下
.condarc
查看conda配置
conda config --show |
关闭conda自动更新
conda config --set auto_update_conda False |
如果每次打开窗口都是默认的base环境,需要取消,修改配置文件
conda config --set auto_activate_base False |
关闭每次下载都需要确认,默认为False
.
conda config --set always_yes True |
显示要下载的内容时显示频道 URL 。默认为.conda list
False
conda config --set show_channel_urls True |
添加 pip 作为 Python 依赖项 (add_pip_as_python_dependency)
添加 pip、wheel 和 setuptool 作为 Python 的依赖项。这可确保每次安装 Python 时始终安装 pip、wheel 和 setuptools。默认为True
conda config --set show_channel_urls True |
更改命令提示符 (changeps1)
使用时,将命令提示符从更改 为包括激活的环境。默认为.conda activate
$PS1
True
比如当前是base环境,你使用conda activate py38,激活到py39环境,再次是用conda activate切换到base
conda config --set changeps1 True |
配置线程数
您可以使用.condarc
文件或环境变量添加配置来控制线程数。您可能需要这样做来调整 conda 以更好地利用您的系统。
如果您有一个非常快的 SSD,您可以增加线程数以缩短 conda 创建环境和安装/删除包所需的时间。
repodata_threads,报告线程数
-
默认线程数:无
-
从 repodata.json 文件下载、解析和创建 repodata 结构时使用的线程。来自不同渠道的多个下载可能同时发生。这加快了开始求解所需的时间。
verify_threads,验证线程
-
默认线程数:1
-
验证要安装在环境中的包和文件的完整性时使用的线程。默认为 1,因为此处使用多个线程可能会遇到较慢的硬盘驱动器问题。
execute_threads,执行线程数
-
默认线程数:1
-
用于取消链接、删除、链接文件或将文件复制到您的环境中的线程。默认为 1,因为此处使用多个线程可能会遇到较慢的硬盘驱动器问题。
default_threads。默认线程数
-
默认线程数:无
-
设置后,该值将用于所有上述线程设置。使用默认设置(无),它不会影响其他设置。
可以在.condarc中或使用conda-config设置以上任何一项
conda config命令设置
conda config --set default_threads 2 |
在.condarc添加
verify_threads: 2 |
管理下载通道
添加 conda-forge 通道 conda config --add channels conda-forge 将“conda-forge”通道添加为“默认”通道的备份 conda config --append channels conda-forge 显示所有配置的通道 conda config --show channels 删除所有配置的通道 conda config --remove-key channels |
三、卸载Anaconda
1、简单卸载
卸载 Anaconda 时,您有两种选择:完全卸载或简单删除。对于大多数用户来说,简单的删除就可以了。如果您不想从计算机上完全删除 Anaconda Distribution 的所有方面,请跳到简单删除。
-
打开终端窗口。
-
使用以下命令删除整个 Miniconda 安装目录:
rm -rf ~/anaconda
-
可选:编辑
~/.bash_profile
以从 PATH 环境变量中删除 anaconda 目录。
可选:删除可能已在主目录中创建的以下隐藏文件和文件夹:
-
.condarc
文件 -
.conda
目录 -
.continuum
目录
通过运行:
rm -rf ~/.condarc ~/.conda ~/.continuum |
2、完全卸载(推荐)
完全卸载使用Anaconda clean程序从Anaconda及其程序中删除所有配置文件和目录的痕迹。
-
安装
anaconda-clean
包:conda install anaconda-clean
-
然后,运行
anaconda-clean
。单独运行该命令以删除所有与 Anaconda 相关的文件和目录,并在删除每个文件和目录之前显示确认提示,或者使用参数--yes
删除所有这些文件和目录,而不要求您确认每个文件和目录。# If you want to confirm each file and directory you are deleting anaconda-clean # If you don't want to be asked about each file and directory anaconda-clean --yes
-
anaconda-clean
.anaconda_backup
在主目录中指定的文件夹中创建可能删除的所有文件和目录的备份。另请注意,anaconda-clean
AnacondaProjects 目录中的数据文件保持不变。
-
使用后,按照简单删除
anaconda-clean
中的说明完成Anaconda Distribution的卸载。
rm -rf ~/anaconda3 |
四、离线使用conda
1、安装miniconda
Miniconda是一个免费的conda最低安装程序。它是Anaconda的一个小型引导程序版本,只包括conda、Python、它们都依赖的包,以及少量其他有用的包(如pip、zlib和其他一些包)。如果您需要更多的软件包,请使用conda-install命令从Anaconda的公共repo中默认提供的数千个软件包进行安装,或者从其他渠道进行安装,如conda-forge或bioda。
mkdir -p ~/miniconda3 wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.s bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3 rm -rf ~/miniconda3/miniconda.sh |
安装后,初始化新安装的 Miniconda。以下命令针对 bash 和 zsh shell 进行初始化:
~/miniconda3/bin/conda init bash ~/miniconda3/bin/conda init zsh |
2、conda环境打包与分发
不建议直接在root环境或者base环境安装conda-pack
2,激活环境
conda activate locust |
3,下载conda-pack
直接使用conda install会从anaconda默认的源下载conda-pack,这个存储的是0.6版本的,存在bug,Conda Pack 在 Python 3.10 及更高版本中存在问题,会阻碍创建包和自定义后端,这个bug在0.7版本被修复,需要指定源地址-c conda-forge,详情可以查看,Conda-pack: CondaPackError: files managed by conda were
conda install -c conda-forge conda-packd |
4,打包环境,会自动生成一个环境名称.tag.gz的压缩包
打包当前环境
conda-pack |
打包指定环境
conda-pack -n locust |
5,分发环境
把tag.gz文件分发给其他的机器
解压压缩包,如果安装了conda,可以解压到conda/envs下,进入conda/envs目录下
# 创建环境文件夹 mkdir locust # 把生成的tar.gz文件移动到envname # 解压压缩包 tar -zxvf locust.tar.gz # 删除压缩包 rm -rf locust.tar.gz # 已经安装conda的情况下,直接激活虚拟环境 conda activate locust # 退出当前虚拟环境 conda deactivate #没有安装conda,需要进入环境所在的bin目录激活虚拟环境 source /root/miniconda3/envs/locust/bin/activate # 退出虚拟环境 source deactivate |
五、conda使用过程中常见问题
1、使用静默安装后,激活环境提示命令不存在
原因:手动初始化后,需要重新打开终端
解决方案:重新打开终端或者命令行
2、安装conda包的过程中,报错Collecting package metadata (repodata.json): \ 已杀死
原因:物理机内存不足
解决方案:
1、服务器加内存
2、手动修改交换内存大小
查看当前交换内存大小:swapon --show
禁用交换内存:sudo swapoff -a
修改交换内存大小为2G命令
sudo fallocate -l 2G /new_swapfile
sudo chmod 600 /new_swapfile
sudo mkswap /new_swapfile
sudo swapon /new_swapfile
echo '/new_swapfile none swap sw 0 0' | sudo tee -a /etc/fstab