1 Anaconda
1.1 简介
Anaconda
指的是一个开源的 Python
发行版本,其包含了 conda
、Python
等180多个科学包及其依赖项。
因为包含了大量的科学包,Anaconda 的下载文件比较大(约 477MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。而 Conda
是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换,Anaconda
里面已经包含 Conda
了,Anaconda
除了包括Conda、Python,还包括一大堆安装好的工具包,比如:numpy、pandas等
1.2 下载安装
官网地址:https://www.anaconda.com/products/distribution
官网历史版本下载网址:https://repo.anaconda.com/archive/
如果官网下载地址太慢,可以使用清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
安装的时候一路next,自己选择安装路径,不放C盘就行
安装过程很长,千万不要点击取消或者关闭,要很长时间才能进入如下图示:
1.3 配置环境变量
windows
的话需要去:控制面板\系统和安全\系统\高级系统设置\环境变量\用户变量\PATH (或者搜索框直接搜高级系统设置)中添加 anaconda
的安装目录的Scripts
文件夹和它上一级文件夹,看个人安装路径不同需要自己调整
把如下路径添加到环境变量中
D:\Anaconda
D:\Anaconda\Scripts
在dos窗口内验证:
conda --version
conda 23.3.1
1.4 下载配置
1.4.1 conda配置
1.4.1.1 修改conda下载源
删除之前的镜像源,恢复默认状态:conda config --remove-key channels
在dos窗口内
添加镜像源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
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/pytorch/添加阿里云镜像源
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/free/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/中国科学技术大学
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/显示检索路径
conda config --set show_channel_urls yes
# 保证换源之后优先级是正确的
conda config --set channel_priority true
显示镜像通道
conda config --show channels
输入conda info
或者 conda config --show channels
或直接打开C:\Users\admin.condarc
配置文件查看配置结果
1.4.1.2 删除下载源
使用 --remove
命令
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
1.4.1.3 包下载目录
虚拟环境的路径:anaconda安装的位置\envs\虚拟环境\Lib\site-packages
base环境的路径如下:anaconda安装的位置\Lib\site-packages
1.4.1.4 下载报错
- 报错一:
EnvironmentNotWritableError: The current user does not have write permissions to the target environment
或者:NotWritableError: The current user does not have write permissions to a required path.
错误原因:后面列的那个文件夹缺写入权限,即在DOS中输入conda info
后,
base environment : D:\SoftWare\Tools\Anaconda (writable)
,此处必须是可写的
解决方法:找到后面列的那个文件夹、右键、属性、安全、编辑、完全控制(或者只把写入勾上也行)
1.4.2 pip配置
1.4.2.1 配置源
Windows系统:在 C:\user\username\目录下
,创建 pip
文件夹,并在该文件夹内创建 pip.ini
文件
即在 C:\user\username\pip\pip.ini
中,加入以下内容:
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
disable-pip-version-check = true
timeout = 6000
Linux系统:在主目录下创建 .pip
文件夹,并在该文件夹内创建 pip.conf
文件
cd ~/
mkdir .pip
cd .pip
touch pip.conf
pip.conf 文件中加入以下内容
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
disable-pip-version-check = true
timeout = 6000
1.4.2.2 下载目录
一般对一个install
命令 执行两次,例如:pip install numpy
,在第二次即可展示安装的位置
使用命令:python -m site
C:\Users\admin>python -m site
sys.path = ['C:\Users\admin','D:\SoftWare\Tools\Anaconda','D:\SoftWare\Tools\Anaconda\lib\site-packages','D:\SoftWare\Tools\Anaconda\lib\site-packages\win32','D:\SoftWare\Tools\Anaconda\lib\site-packages\win32\lib','D:\SoftWare\Tools\Anaconda\lib\site-packages\Pythonwin',
]
USER_BASE: 'C:\Users\admin\AppData\Roaming\Python' (doesn't exist)
USER_SITE: 'C:\Users\admin\AppData\Roaming\Python\Python310\site-packages' (doesn't exist)
ENABLE_USER_SITE: True
base环境的路径如下:anaconda安装的位置\Lib\site-packages
1.4.2.3 修改下载目录
通过命令:python -m site -help
C:\Users\admin>python -m site -help
D:\SoftWare\Tools\Anaconda\lib\site.py [--user-base] [--user-site]
可以看到site.py
文件位置。修改site.py
文件中的USER_SITE
和USER_BASE
。
其中USER_SITE
是安装的库的位置,USER_BASE
是调用的pip
指令的位置
USER_SITE = "D:\SoftWare\Tools\Anaconda\lib\site-packages"
USER_BASE = "D:\SoftWare\Tools\Anaconda\Scripts"
1.5 修改虚拟环境地址
1.5.1 通过配置文件 .condarc
conda infouser config file : C:\Users\admin.condarc
envs directories : C:\Users\admin.conda\envs
conda
环境默认安装在用户目录 C:\Users\username.conda\envs
下,如果选择默认路径,那么之后创建虚拟环境,也是安装在用户目录下。不想占用C盘空间,可以修改 conda
虚拟环境路径。
添加或修改 .condarc
中的 env_dirs
设置环境路径,按顺序第⼀个路径作为默认存储路径,搜索环境按先后顺序在各⽬录中查找。直接在 .condarc
添加:
envs_dirs:- D:\Anaconda3\envs
添加后在用命令查看
conda infoenvs directories : D:\SoftWare\Tools\Anaconda\envsC:\Users\admin.conda\envsC:\Users\admin\AppData\Local\conda\conda\envs
1.5.2 通过命令指定
- 指定位置新建虚拟环境
conda create --prefix=/home/conda_env/mmcv python=3.7
注意
:路径/home/conda_env
是自己先建立好的,也就是必须存在这个路径,后面的mmcv
就是你想给这个环境取的一个名称 - 激活这个环境
source activate /home/conda_env/mmcv
注意
:Linux
下是source
,Windows
下是conda
- 退出该虚拟环境:
conda deactivate
- 删除该虚拟环境
conda remove --prefix=/home/conda_env/mmcv --all
1.6 共享环境
共享环境非常有用,它能让其他人安装你的代码中使用的所有包,并确保这些包的版本正确。比如你开发了一个药店数据分析系统,你要提交给项目部署系统的其他人来部署你的项目,但是别人并不知道你当时开发时使用的是哪个python版本,以及使用了哪些包和包的版本。这怎么办呢?
可以在你当前的环境中终端中使用 conda env export > environment.yaml
将你当前的环境保存到文件中包保存为YAML
文件(包括Pyhton版本和所有包的名称)。
命令的第一部分 conda env export
用于输出环境中的所有包的名称(包括 Python 版本)
导出的环境文件,在其他电脑环境中如何使用呢?
- 首先在
conda
中进入你的环境,比如activate py3 - 然后在使用以下命令更新你的环境:
conda env update -f=/path/to/environment.yml
其中-f
表示你要导出文件在本地的路径,所以/path/to/environment.yml
要换成你本地的实际路径
点击此处了解pip 共享环境方法
1.7 Conda常见命令
Conda
常见命令:
conda info
:查看虚拟环境配置信息conda info -e
:查看虚拟环境conda list
:查看环境中的所有包conda install XXX
:安装 XXX 包conda remove XXX
:删除 XXX 包conda env list
:列出所有环境conda create -n XXX
:创建名为 XXX 的环境conda create -n env_name jupyter notebook
:创建虚拟环境activate noti(或 source activate noti)
:启用/激活环境conda env remove -n noti
:删除指定环境deactivate(或 source deactivate)
:退出环境jupyter notebook
:打开Jupyter Notebookconda config --remove-key channels
:换回默认源