Win10 环境下 Anaconda3 使用技巧

随着python数据分析工具使用的人越来越多,借助Anaconda3管理pyhton环境的人也越来越多,本文就Win10 环境下 Anaconda3 的使用技巧以及应注意事项进行了探讨。

运行环境:win10 ,Anaconda版本:Anaconda3-2022.05-Windows-x86_64.exe

一 选择不同安装类型,默认文件目录的命名有所不同

  1. 安装Anaconda3的过程中,如果安装类型选择 Just Me ,则安装的默认安装目录是 C:\ProgramData\anaconda3 ,且在接下来的安装高级选项中,可以选择是否把Anaconda3 加入到 PATH 环境变量中。
  2. 如果安装类型选择All Users ,则安装的默认安装目录是 C:\ProgramData\Anaconda3 ,且在接下来的安装高级选项中,无法选择把Anaconda3加入到 PATH 环境变量。
  3. 本人选择的安装路径是:D:\Dev-tools\Anaconda3

二 用户家目录下有关 .condarc文件

  1. 默认情况下,在用户的家目录(C:\Users\用户名)是不存在 .condarc 文件的,一旦运行了 Anaconda3 的配置命令,就会在用户的家目录自动生成该文件。
  2. 用户可以用文本编辑器直接修改 .condarc 文件

三 如何管理环境目录 envs

用户选用Anaconda3的一个主要原因是利用它方便管理python的不同版本,用户也自然非常关心创建的pyhton环境具体存储在什么位置,做到心中有数。

  1. 运行 Anaconda Prompt (Anaconda3)

在命令窗口运行 conda info

Anaconda3作为默认的Python_数据分析

系统默认的环境目录如下,在创建新环境时,储存位置优先选择排列在前的目录。

envs directories : C:\Users\ecwyf\ .conda\envs
D:\Dev-tools\Anaconda3\envs
C:\Users\ecwyf\AppData\Local\conda\conda\envs

  1. 创建环境
conda create -n py2_7  python=2.7

(base) C:\Users\ecwyf>conda env  list
conda environments:
py2_7                    C:\Users\ecwyf\.conda\envs\py2_7
base                  *  D:\Dev-tools\Anaconda3

首先在用户的家目录下生成 .conda 目录及envs子目录,并把新创建的环境存储在C:\Users\ecwyf\ .conda\envs目录。

【注】Anaconda3 安装完成的初始状态下,家目录下是没有 .conda 子目录的。

  1. 如何改变新建环境的存储位置
#在 Anaconda 命令窗口运行
conda config --add envs_dirs D:\Dev-tools\Anaconda3\envs
conda info

envs directories : D:\Dev-tools\Anaconda3\envs
C:\Users\ecwyf\ .conda\envs
C:\Users\ecwyf\AppData\Local\conda\conda\envs

和初始环境相比,仅仅改变了 D:\Dev-tools\Anaconda3\envs 在envs directories 列表中的位置。

  1. 创建新的环境
(base) C:\Users\ecwyf>conda create -n py_3_6  python=3.6

Collecting package metadata (current_repodata.json): done
Solving environment: done

Package Plan

environment location: C:\Users\ecwyf\ .conda\envs\py_3_6

added / updated specs:

按道理讲,新创建的环境应该存储在 D:\Dev-tools\Anaconda3\envs目录中,但发现依然存储在 C:\Users\ecwyf\ .conda\envs目录下。原因主要是目录权限问题。

  1. 解决目录权限问题的2种方法

6.1 赋予 E:\Dev-Tools\Anaconda3\envs 目录Users组写入权限

Anaconda3作为默认的Python_jupyter_02

6.2 以管理员的身份运行 Anaconda Prompt (Anaconda3)

  1. 再次运行创建新的环境,存储位置为 D:\Dev-tools\Anaconda3\envs,一切OK。

(base) C:\Users\ecwyf>conda create -n py_3_6 python=3.6

Collecting package metadata (current_repodata.json): done
Solving environment: done

Package Plan

environment location: D:\Dev-tools\Anaconda3\envs\py_3_6

【注】:如何以管理员身份运行 Anaconda Prompt (Anaconda3) ?

点击“开始按钮” —> 定位到 Anaconda Prompt (Anaconda3) —>鼠标右击—>选择“更多”—>点击“以管理员身份运行”

四 Anaconda3 目录权限管理

以管理员身份运行 Anaconda Prompt (Anaconda3),才能对 Anaconda3 进行完全控制,当对conda 本身进行更新的时候,如果权限不足,就会引起错误。

  1. 当以普通用户身份运行 **Anaconda Prompt (Anaconda3)**时

(base) E:\Dev-Tools>conda update conda

显示环境写错误:当前用户对E:\Dev-Tools\Anaconda3 文件夹没有写权限。

(EnvironmentNotWritableError: The current user does not have write permissions to the target environment.
environment location: E:\Dev-Tools\Anaconda3)

  1. 以管理员的身份运行 Anaconda Prompt (Anaconda3)

(base) E:\Dev-Tools>conda update conda

更新顺利完成

  1. 由此可见,在不改变默认安装目录权限的情况下,凡是运行创建环境、更新系统的时候,应该以管理员的身份运行 Anaconda。
  2. 对于个人电脑,也可以直接对 Anaconda3 目录进行提权,赋予修改、和写入权限。

五 如何设置 jupyter notebook 的工作目录

jupyter notebook 的默认工作目录是启动jupyter notebook 的目录位置,为了个性化jupyter的工作目录,可以进行如下设置。

  1. 一旦运行 jupyter notebook,就会在用户的家目录生成 .jupyter 目录。
  2. 运行 jupyter notebook --generate-config

自动生成默认配置文件 C:\Users\ecwyf\ .jupyter\jupyter_notebook_config.py

  1. 用文本编辑器修改 jupyter_notebook_config.py,搜索 c.NotebookApp.notebook_dir,把它的值设置为自己的工作目录即可

六 Anaconda3 常用简洁命令

以管理员的身份运行 Anaconda Prompt (Anaconda3)

1 常用配置

配置conda 源

conda config --add channels https://mirror.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --set show_channel_urls yes

conda config --add envs_dirs D:\Dev-tools\anaconda3\envs

增加环境目录

conda config --add envs_dirs D:\Dev-tools\anaconda3\envs

删除环境目录

conda config --remove envs_dirs D:\Dev-tools\anaconda3\envs

2 查看已安装的 python环境

conda info --envs

3 创建新的环境

conda create -n virtName python= 3.9

4 删除已创建的虚拟环境

conda remove -n virtName --all

5 激活环境

conda activate virtName

6 针对当前环境,安装python包

conda install pkg=ver

7 针对当前环境,删除包及依赖包

conda remove pkg

8 查看已经安装的 python 包

conda list

9 复制环境

conda create --name NewEnvName --clone existEnvName

(base) C:\Users\wyf>conda env list
conda environments:

base * C:\tools\Anaconda3
py2_7 C:\tools\Anaconda3\envs\py2_7
py3_9 C:\tools\Anaconda3\envs\py3_9

conda create -n py2 --clone py2_7

(base) C:\Users\wyf>conda env list
conda environments:

base * C:\tools\Anaconda3
py2 C:\tools\Anaconda3\envs\py2
py2_7 C:\tools\Anaconda3\envs\py2_7
py3_9 C:\tools\Anaconda3\envs\py3_9

10 查找包

conda search 包名

11 安装多个 package

conda install pkg1 pkg2 …

指定安装版本
conda install numpy=1.10

12 升级和删除 package

conda update package_name

conda remove package_name

13 卸载与更新包

卸载当前环境中的包
conda remove pkg
conda remove pandas //在当前环境中卸载pandas包

卸载指定环境的包
conda remove --name envName pkg
conda remove --name python2 pandas //即卸载名为“python2”中的pandas包。

更新当前环境下所有包

conda update --all

conda upgrade --all

更新当前环境下指定包
conda update pkg1 … pkgn

14 导入导出环境

导出当前环境的包信息
conda env export > environment.yaml

重新创建一个相同的虚拟环境时可以用
conda env create -f environment.yaml

2022-08

更新当前环境下所有包

conda update --all

conda upgrade --all

更新当前环境下指定包
conda update pkg1 … pkgn

14 导入导出环境

导出当前环境的包信息
conda env export > environment.yaml

重新创建一个相同的虚拟环境时可以用
conda env create -f environment.yaml

2022-08