配置环境变量

Windows 系统

  • 控制面板\系统和安全\系统\高级系统设置\环境变量\用户变量\PATH 中添加 anaconda的安装目录的 Scripts 文件夹, 比如我的路径是D:\Software\Anaconda\Scripts, 看个人安装路径不同需要自己调整.
  • 之后就可以打开命令行(最好用管理员模式打开) 输入 conda —version

  • 如果输出conda 4.4.11之类的就说明环境变量设置成功了.

  • 为了避免可能发生的错误, 我们在命令行输入conda upgrade --all 先把所有工具包进行升级。

  • 如果你的电脑上有多个版本的 Python, 你可以使用conda create -n py3 python=3来创建一个 Python3 的环境, 这样你就可以在这个环境下使用 Python3 了。

基础操作

activate

可以直接进入 anaconda 自带的 base 环境

创建自己的虚拟环境

创建一个名称为 learn 的虚拟环境并指定 python 版本为 3(这里conda会自动找 3 中最新的版本下载。

1
conda create -n learn python=3

切换环境

1
activate learn

如果想看一共有哪些环境

1
conda env list

安装/卸载第三方包

两种方式都可以

1
2
3
4
5
6
7
8
9
10
11
conda install requests

# 或者

pip install requests

conda remove requests

# 或者

pip uninstall requests

查看环境包信息

查看当前环境所有包的情况

1
conda list

导入导出环境

如果想要导出当前环境的包信息可以用

1
conda env export > environment.yaml

将包信息存入 yaml 文件中

当需要重新创建一个相同的虚拟环境时可以用

1
conda env create -f environment.yaml

删除环境(慎用)

1
conda remove -n learn --all

总结当前命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
activate // 切换到 base 环境

activate learn // 切换到 learn 环境

conda create -n learn python=3 // 创建一个名为 learn 的环境并指定 python 版本为 3(的最新版本)

conda env list // 列出 conda 管理的所有环境
conda info -e
conda info --envs

conda list // 列出当前环境的所有包

conda install requests 安装 requests 包

conda remove requests 卸载 requets 包

conda remove -n learn --all // 删除 learn 环境及下属所有包

conda update requests 更新 requests 包

conda --version // 查看版本
conda config --show // 查看环境配置

关于 conda 切换为国内源

A. 添加清华源:

1
2
3
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/msys2/

设置搜索时显示通道地址:

1
conda config --set show_channel_urls yes

B. 添加中科大源:

1
2
3
4
5
6
7
conda config --add channels https://mirrors.ustc.edu.cn/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/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes

C. 在 Linux 系统中:

将以上配置文件写在 ~/.condarc 中

使用指令:

1
vim ~/.condarc

按 i 键进入 vim 的编辑模式,插入下面的指令后,按 esc 键退出 ,在按‘ :’键,输入 wq,回车保存退出即可。

1
2
3
4
5
6
7
8
channels:

- https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
- https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- defaults
show_channel_urls: true

D. 删除源:

1
conda config --remove channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'

关于 pip 指令添加镜像

A. Linux 系统下:

修改~/.pip/pip.conf(如果没有此文件,可以创建此文件夹和文件),内容如下:

1
2
3
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn

B. Windows 系统下:

直接在 user 目录中创建一个 pip 目录,如:C:\Users\xx\pip,新建文件 pip.ini,内容同上:

1
2
3
4
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn

C. 每次安装文件时都进行更换的方法,因为有些文件可能在清华源中没有,所以推荐此种方法,包可以放前面也可以放后面:

1
2
3
4
5
pip install
-i https://mirrors.aliyun.com/pypi/simple/some-package
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/
some-package
pip install some-package -i http://pypi.douban.com/simple/

D. 对于在 Windows 上安装,如果安装 pytorch 这种不在国内的网址,在镜像网址中也不存在,可以挂 VPN 提高下载速度;但是如果对于在清华源存在的,就需要关掉 VPN,不然就会报错如下:

conda 操作虚拟环境

A. 查看所有的虚拟环境:

1
conda env list 或者 conda info -e

B. conda 创建虚拟环境

1
conda create -n env_name python=x.x

C. 进入虚拟环境

1
conda activate env_name

D. 查看虚拟环境的配置

1
conda list

E. 退出虚拟环境

1
2
conda deactivate env_name
conda activate base

F. 删除虚拟环境

删除整个虚拟环境:

1
conda remove -n your_env_name(虚拟环境名称) --all

删除虚拟环境的某个包:

1
conda remove --name $your_env_name $package_name

或者在这个虚拟环境中直接删除包即可

在虚拟环境安装 jupyter notebook

1
2
3
pip install ipykernel
python -m ipykernel install --user --name pytorch # pytorch
python -m ipykernel install --user --name paddle--display --name "paddle" # paddle
  • 在执行第 2 行指令后,可能会报如下错误:
  • 解决办法:将原来的 prompt-toolkit-3.0.3 版本降为 2.0.10 版本:
1
2
pip uninstall -y ipython prompt_toolkit
pip install prompt-toolkit==2.0.10
  • 检验,使用如下命令行:
1
python -m ipykernel --version
  • 如果不报错,正常显示 IPython 版本,则认为成功,如果提示 No module named ‘IPython’,则重新执行如下指令:
1
pip install ipykernel

正确结果如下图所示

  • 然后重新执行如下指令,完成最终操作:
1
python -m ipykernel install --user --name pytorch

结果如下图:

新技巧

依赖关系:conda-tree/pipdeptree

如果非 Anaconda 环境:

1
$ conda install networkx
  • Install
1
$ conda install -c conda-forge conda-tree
  • Use
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 帮助文档
$ conda-tree -h

# which packages depend on a specific package
$ conda-tree whoneeds xz
['samtools', 'bcftools', 'htslib', 'python']

# dependency cycles
$ conda-tree cycles
pip -> python -> pip
pip -> wheel -> python -> pip

# full dependency tree
$ conda-tree deptree --full
neovim==0.3.1
├─ pynvim 0.3.2 [required: any]
│ ├─ greenlet 0.4.15 [required: any]
│ │ └─ python 3.7.3 [required: >=3.7,<3.8.0a0]
│ │ ├─ bzip2 1.0.8 [required: >=1.0.6,<2.0a0]
│ │ ├─ libcxx 8.0.1 [required: >=4.0.1]
│ │ │ └─ libcxxabi 8.0.1 [required: 8.0.1, 0]
│ │ ├─ libffi 3.2.1 [required: >=3.2.1,<3.3.0a0]
...
conda-tree==0.0.4
├─ conda 4.7.11 [required: any]
│ ├─ conda-package-handling 1.4.1 [required: >=1.3.0]
│ │ ├─ libarchive 3.3.3 [required: >=3.3.3]
│ │ │ ├─ bzip2 1.0.8 [required: >=1.0.6,<2.0a0]
...

安全删除 pip-autoremove

项目依赖 pipreqs

1
2
3
4
5
6
7
8
9
10
11
# 安装
$ pip install pipreqs

# 基本使用
$ pipreqs ./

# 编码问题
$ pipreqs --encoding=utf8 ./

# 覆盖
$ pipreqs --force ./