管理Conda
查看Conda版本
查看Conda环境配置
设置镜像
1 2 3 4 5 6 7 8 9 10
| # 设置清华镜像 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/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/ # 设置bioconda conda config --add channels bioconda conda config --add channels conda-forge # 设置搜索时显示通道地址 conda config --set show_channel_urls yes
|
更新Conda
更新Anaconda
与conda update conda的区别是:conda update conda
主要用于更新 Conda 包管理器本身,而 conda update anaconda
则用于更新整个 Anaconda 发行版,包括 Conda 包管理器和默认软件包。
查询某个命令的帮助
管理环境
创建虚拟环境
1
| conda create -n env_name python=3.8
|
- 表示创建python版本为3.8、名字为env_name的虚拟环境。创建后,env_name文件可以在Anaconda安装目录envs文件下找到。
- 在不指定python版本时,自动创建基于最新python版本的虚拟环境.
创建虚拟环境的同时安装必要的包
1
| conda create -n env_name numpy matplotlib python=3.8
|
- 不建议这样做,简化每一条命令的任务在绝大多数时候都是明智的(一个例外是需要反复执行的脚本)。
曾在安装包时遇到版本问题,通过在创建环境时安装指定版本的包解决。
查看虚拟环境列表
1 2 3
| conda env list conda info -e conda info --envs
|
激活虚拟环境
- 可以使用
python --version查看python版本是否为所需版本
退出虚拟环境
1 2
| conda activate # 默认回到缺省环境base conda deactivate # 退出当前环境回到base
|
删除虚拟环境
1
| conda remove --name env_name --all
|
1
| conda remove --name env_name package_name
|
导出虚拟环境
1 2 3 4
| # 获取环境中的所有配置 conda env export --name env_name > env_name.yml # 重新还原环境 conda env create -f env_name.yml
|
- 方便在需要时恢复环境,或提供给别人用于创建完全相同的环境
管理包
查看包列表
查看Anaconda仓库中是否有需要包
1
| conda search package_name
|
查看是否安装某个包
1 2
| conda list package_name conda list package_name* # *表示支持模糊查找
|
安装包
1 2 3
| conda install package_name conda install package_name=0.20.3 # 指定版本 conda install package_name -c conda_forge # 指定通道
|
更新包
卸载包
1 2 3 4 5
| # 依赖于这个包的所有其它包也同时卸载 conda uninstall package_name # 不想删除依赖其当前要删除的包的其他包 # 不建议会导致依赖其的包不可用,即使重新安装可能导致版本不兼容 conda uninstall package_name --force
|
清理缓存
1 2 3
| conda clean -p # 删除没有用的包 --packages conda clean -t # 删除tar打包 --tarballs conda clean -y -all # 删除所有的安装包及cache(索引缓存、锁定文件、未使用过的包和tar包)
|
- 关于清除命令的更详细的说明,可以执行以命令
conda clean -h进行查询
管理python
python版本变更
1 2
| conda install python=3.5 python --version # 查看版本
|
python更新到最新版
Conda配置文件
.condarc文件
通道管理
追加conda-forge channel:
1
| conda config --add channels conda-forge
|
移除conda-forge channel:
1
| conda config --remove channels conda-forge
|
查询当前配置中包含哪些channels:
1
| conda config --get channels
|
conda install 和 pip install
区别
- conda可以管理非python包,pip只能管理python包。
- conda自己可以用来创建环境,pip不能,需要依赖virtualenv之类的。
- conda安装的包是编译好的二进制文件,安装包文件过程中会自动安装依赖包;pip安装的包是wheel或源码,装过程中不会去支持python语言之外的依赖项。
- conda安装的包会统一下载到一个目录文件中,当环境B需要下载的包,之前其他环境安装过,就只需要把之间下载的文件复制到环境B中,下载一次多次安装。pip是直接下载到对应环境中。
- conda只能在conda管理的环境中使用,例如比如conda所创建的虚环境中使用。pip可以在任何环境中使用,在conda创建的环境
中使用pip命令,需要先安装pip(
conda install pip
),然后可以 环境A 中使用pip 。conda
安装的包,pip可以卸载,但不能卸载依赖包,pip安装的包,只能用pip卸载。
不建议混用。混用容易导致库的依赖关系出现混乱,甚至导致环境崩溃,安装不了新的包,无法进行conda
update之类的。
由于conda的库不如pip的库丰富,所以有时候迫不得已要使用pip安装。切记,只有在conda
install搞不定时才使用pip intall。
安装地址
conda install xxx:安装的库会放在目录下,好处是当在某个环境下已经下载好了某个库,再在另一个环境中还需要这个库时,就可以直接从pkgs目录下将该库复制至新环境而不用重复下载。
pip install xxx:
- 一种情况就是当前conda环境的python是conda安装的,和系统的不一样,那么会被安装到文件夹中;
- 如果当前conda环境用的是系统的python,那么通常会被安装到文件夹中
。
判断安装方式
- 执行
conda list
,用pip安装的包显示的build项为pypi。
参考:Anaconda
conda常用命令:从入门到精通
Mangas | Literature | Coding | Music | Handicraft | Japanese dramas