Anconda 环境配置教程

最近涌现了好多AI开源项目,其中很多项目的硬件要求不高,可以自己部署到本地来运行。但是不同的项目要求的Python版本可能不同,电脑上安装了多个Python版本后管理起来十分麻烦。所以今天介绍一种一劳永逸的 AI 开发环境搭建的方式,可以让多个项目共存,并且管理起来也十分方便。

今天要介绍的一个工具是 Anconda,它的核心是conda,它是一个开源的软件包管理系统和环境管理系统,可以在不同的环境中安装不同版本的软件包,以及在不同的环境之间切换。使用这个工具可以创建虚拟环境,每一个虚拟环境都对应一个Python版本,这样就可以轻松管理Python的版本。

Anconda有两个版本,一个是完整的 Anconda,另一个是精简的 Miniconda,建议使用 Miniconda,相比 Anconda 占硬盘空间更小,而且对于搭建 AI 环境来说完全够用。

下面是 Miniconda 的安装教程:

  1. 首先打开 Miniconda 的下载链接:Miniconda — conda documentation

  2. 然后根据你的系统版本下载安装包(这里以 Windows 为例):

    image-20230422223548197

  3. 下载好之后直接运行安装即可,这里不建议修改默认配置(为了方便使用可以勾选将 conda 添加到环境变量,但是要保证系统里没有安装任何版本的 Python)

  4. 安装完成之后,在开始菜单可以找到 Anaconda Prompt (anaconda3) 快捷方式,运行这个快捷方式就可以打开 Anconda 的命令行窗口。之后使用 Anconda 执行命令就都在这里操作。

  5. 为了加快下载包的速度,接下来为 Anconda 的镜像,在命令行中输入以下内容:

    1
    2
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --set show_channel_urls yes
  6. 另外有的时候可能还会用到 pip,还可以为 pip 配置国内镜像:

    1
    pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
  7. 使用 conda 创建虚拟环境命令(这里假设我们要部署Stable Diffusion WebUI,可以创建一个名为SD-WebUI的虚拟环境,python版本号为3.10):

    1
    conda create -n SD-WebUI python=3.10
  8. 等待命令执行完成后,我们就拥有了一个名为SD-WebUI的虚拟环境,这个环境里的 Python 版本是 3.10,接下来就是启动这个虚拟环境,使用如下命令来启动:

    1
    conda activate SD-WebUI
  9. 执行完成后,可以看到开头的 (base) 变成了 (SD-WebUI) ,说明我们已经成功进入了这个虚拟环境,接下来就可以在这个虚拟环境中继续部署了。

  10. 在这里再分享一些常用的 conda 命令:

    1. 关闭当前的虚拟环境:
    1
    conda deactivate
    1. 查看虚拟环境列表:
    1
    conda env list
    1. 查看安装的包:
    1
    conda list
    1. 删除环境(完全删除名为env_name的环境):
    1
    conda remove --name env_name --all

    ​ 也可以只删除环境中的某个包:

    1
    conda remove --name env_name packge_name
    1. 更改当前环境的Python版本:
    1
    conda install python=3.11

另外,使用 conda 配置好环境之后,如果想要运行,通常需要重新打开 conda 的命令行来定位项目,这样操作很繁琐,这里提供一种解决方案。

我们首先从 conda 命令行的启动快捷方式入手,查看 Anaconda Prompt (anaconda3) 的属性可以发现,其实这个快捷方式就是用 cmd 执行了一行命令,我这里的命令将如下:

1
%windir%\System32\cmd.exe "/K" C:\Users\Frspble\anaconda3\Scripts\activate.bat C:\Users\Frspble\anaconda3

知道了这个原理之后,我们就可以自己写一个 bat 文件来直接启动 conda 命令行,然后再自动启动我们所需的虚拟环境的命令,就可以做到一键启动了。下面是我给我的 Stable Diffusion WebUI 写的一键启动命令示例:

1
2
3
call C:\Users\Frspble\anaconda3\Scripts\activate.bat C:\Users\Frspble\anaconda3    # 启动conda
call conda activate SD-WebUI # 启动 SD-WebUI 虚拟环境
python launch.py # 运行 WebUI

当然这只是最简单的启动命令,如果有需要还可以再加入一些其它的内容。