Anaconda在Windows上的安装与使用


2024-03-27 Development

我喜欢使用 Anaconda (opens new window) 作为 Python 的运行环境,用于 Python 软件开发和数据分析。它能够轻松搜索和安装数以千计的 Python/R 包,并访问庞大的社区内容和支持库。Anaconda 对于学生和教育用户,以及个人从业者或爱好者免费,还包括一个 5GB 的在线可共享的 Notebook 服务。

Anaconda 免费版已经足够个人使用,下面将介绍在 Windows 上安装 Anaconda 的步骤以及基本的使用。

参考链接:

# 1. 安装Anaconda

下面是在 Windows (适用于 Win 10 或 Win 11,64 位操作系统)上的安装过程记录,参考官方的文档:

根据当前的操作系统,下载 Anaconda3 最新版的安装包。例如,这里选择下载的文件是:

  • Anaconda3-2024.06-1-Windows-x86_64.exe

有两种安装方式:

  1. 以普通用户方式,仅安装给当前用户。 这种方式不需要管理员权限,这也是 Anaconda 官方推荐的安装方式。选择这种安装方式,默认的安装路径是:%USERPROFILE%\anaconda3(例如在本机中是:C:\Users\bobyuan\anaconda3),也可以指定一个当前用户可以访问的其他路径。

  2. 以管理员权限安装给本机的全部用户。 这种方式将安装到本机的系统中(为机器内的用户所共享),若机器内有其他 Python 环境的安装,它可能会对系统的现有环境造成影响。若您确认机器里面没有安装其他 Python 且希望这样以管理员身份安装,可选择这种安装方式。它默认的安装路径是 %ALLUSERSPROFILE%\anaconda3 (例如在本机中是:C:\ProgramData\anaconda3)。

下面将以官方推荐的第一种“普通用户方式”来安装。

安装时,建议全部采用默认的安装路径和默认的选项。若执意要更换安装路径,请避免路径太长,且不包含空格、特殊字符、中文字符等,以免引入不可预见的麻烦。下面的例子中,我选择 C:\opt\app\anaconda3 作为目标安装路径。

注,若是以管理员用户给系统全局进行安装的情况下:

  1. 可选的,可将下面的环境变量加入到PATH 系统环境变量中。

    C:\ProgramData\anaconda3;C:\ProgramData\anaconda3\Scripts;C:\ProgramData\anaconda3\Library\bin
    
  2. 在 Linux 中,默认的情况下,安装会设置 PYTHONPATH 环境变量。而在 Windows 中,此信息将会保存到系统注册表中: HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore

安装程序执行完毕后,检查一下环境。从程序菜单中,选择“Anaconda Prompt”打开命令行窗口。这时默认是在 base 环境中:

# 在 Windows 上初始化命令行窗口
conda init cmd.exe
# 在 Linux 上初始化命令行窗口
#conda init bash

# 查看版本
python --version
conda --version
anaconda --version

# 查看信息
conda info

例如在我的机器上:

C:\Users\bobyuan>python --version
Python 3.12.4

C:\Users\bobyuan>conda --version
conda 24.5.0

C:\Users\bobyuan>conda activate base

(base) C:\Users\bobyuan>anaconda --version
anaconda Command line client (version 1.12.3)

发行版安装后,随着时间的推移,可能会有一些更新。我们可以在命令行窗口,将它更新到最新。

# 【可选】 若您需要通过代理来访问外网,可以设置代理服务器
# set http_proxy=http://web-proxy.mycompany.com:8080
# set https_proxy=http://web-proxy.mycompany.com:8080

# 在 base 环境中,更新 conda 包管理器到最新
conda update -n base conda

# 在 base 环境中,更新 anaconda 到最新
conda update -n base anaconda

# 在 base 环境中(这里 base 也可以替换成为其他环境),更新全部的包到最新
conda update -n base --all

# Show all information
conda info --all

默认的安装只有一个 base 环境。为了保证 base 环境的稳定,强烈建议创建和使用另外的环境(可多个)。下面的例子中,新创建了一个 py3 环境作为日常开发环境。

以普通用户打开命令行窗口:

# 列表展示当前的全部环境
conda env list

# 创建 "py3" 环境。注意,这里并未严格指定具体版本,它将会是 3.x 的最新版
conda create -n py3 python=3

# 激活环境
conda activate py3

# 在当前的环境下,更新全部的包
conda update --all

# 退出当前的激活环境
conda deactivate

例如,下面是我电脑上的环境:

(base) C:\Users\bobyuan>conda activate py3

(py3) C:\Users\bobyuan>conda env list
# conda environments:
#
base                     C:\opt\app\anaconda3
py3                   *  C:\opt\app\anaconda3\envs\py3

上面带“*”星号标记的,是当前的环境。

要使用这个 py3 环境,仅需要将 PATH 环境变量指向此路径,或是用其中的 python.exe 来作为 Python 解释器。例如,在我的电脑上,可选地添加下面的到当前用户(注意,不是系统用户)的 PATH 环境变量中: C:\opt\app\anaconda3\envs\py3;C:\opt\app\anaconda3\envs\py3\Scripts;C:\opt\app\anaconda3\envs\py3\Library\bin,或者指定用 C:\opt\app\anaconda3\envs\py3\python.exe 作为 Python 解释器。

设置当前用户的环境变量的对话框如图:

打开命令行环境,最后检查一下:

C:\Users\bobyuan>conda activate py3

(py3) C:\Users\bobyuan>python --version
Python 3.12.4

至此,安装完毕。在日常工作中,尽量使用 py3 环境,在此环境中安装和更新依赖包。避免使用 base 环境,尤其是尽量不要在上面安装第三方包,这样可以保持 base 环境的稳定。

如果要删除一个自建的环境,可以使用命令:

# 删除 py3 环境
conda remove -n py3 --all

# 2. conda的基本用法

conda 是 Anaconda 的包管理器。我们通过它来检查当前环境,安装或反安装各种第三方 Python 包。

参考链接:

下面是一些常见的使用命令:

  1. 检查环境

    # Show help information.
    conda help
    
    # Check information.
    conda info
    
    # Check install location.
    conda info --base
    
    # Check all information.
    conda info --all
    
    # Check environment information.
    #conda info -e (same as below)
    conda env list
    
  2. 创建环境

    # Update to latest.
    conda update -n base conda -y
    conda update -n base anaconda -y
    
    # List all environments.
    conda env list
    
    # Create a new environment "py3".
    conda create --name py3 python=3
    
    # Clone an environment.
    #conda create --name py3.9 --clone py3
    
    # Activate "py3" environment.
    conda activate py3
    
    # Update all packages in current environment.
    conda update --all
    
    # Deactivate current environment.
    conda deactivate
    
    # Delete/remove environment "py3".
    conda remove --name py3 --all
    
  3. 配置

    注,conda 将配置保存在当前用户 Home 的 .condarc 文件中。即对于 Windows 是%USERPROFILE%\.condarc,对于 Linux 是 ~/.condarc

    # Display help message.
    conda config --help
    
    # Display all configuration values as calculated and compiled.
    conda config --show
    
    # Describe all available configuration options.
    conda config --describe
    
    
    # Show channels (in ~/.condarc).
    conda config --show channels
    
    # Add the 'conda-forge' channel as a backup to 'defaults'.
    conda config --append channels conda-forge
    
    # Set config options (in ~/.condarc).
    conda config --set show_channel_urls yes
    #conda config --set channel_priority strict
    #conda config --set channel_priority flexible
    
    # Show channels again to check result.
    conda config --show channels
    

    若读者身处中国境内,建议添加一些镜像,能够加快更新速度。

    # Add mirror channels.
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
    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/pkgs/free/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    
    # Remove mirror channels.
    conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
    conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
    conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    
    # change back to original.
    #conda config --remove-key channels
    

    例如,下面是我电脑的 channels 设置:

    (py3) C:\Users\bobyuan>conda config --show channels
    channels:
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
      - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
      - defaults
      - conda-forge
    
  4. 包管理

    # Activate the "py3" environment.
    conda activate py3
    
    # Search a package "paho-mqtt".
    conda search paho-mqtt
    
    # Search and install package in given channel.
    #conda search paho-mqtt --channel conda-forge 
    #conda install paho-mqtt --channel conda-forge
    #conda install paho-mqtt --channel https://conda.anaconda.org/conda-forge
    
    # Replace <PACKAGE_NAME> with the name of the package you want to update
    # Replace <NEW_VERSION> with the version number you want to force install
    #conda install <PACKAGE_NAME>=<NEW_VERSION>
    
    # Install required packages in current environment.
    conda install paho-mqtt
    conda uninstall paho-mqtt
    conda update paho-mqtt
    
    # Update all installed packages to latest version in current environment.
    conda update --all
    
    # List all packages installed in current environment.
    conda list
    
    # Remove unused tarballs in current environment.
    conda clean --tarballs
    
    # Remove unused directories in current environment.
    conda clean --packages
    
    # Remove unused packages and caches in current environment.
    conda clean --all
    
  5. 更新 Python 版本 若需要修改或者更新环境内的 Python 版本,可以参考下面的链接:

# 3. 安装第三方包

在 Anaconda 的环境中,首先使用默认的 conda 包管理器。若找不到相关的第三方包,可以到其他 channel 来试试运气,最后也可以使用 pip 来安装。注意,尽量避免使用 pip,以免不同的包管理器发出冲突。

例如,下面搜索一个 tendo (opens new window) 第三方包,然后尝试在 conda-forge 的 channel 中再找。

# 搜索包名
conda search tendo

# 尝试从 conda_forge 中搜索
conda search tendo -c conda-forge

实在不济,再考虑 pip(不推荐,有破坏环境的风险!)。例如,在浏览器中打开 https://pypi.org/search (opens new window) 搜索 tendo 包,找到包名,然后在命令行中安装:

# 安装
pip install tendo

作为最后的手段,我们还可以通过源码来安装。拿 tendo 包来做例子,从它的官网(地址是 https://github.com/pycontribs/tendo/ (opens new window) )下载最新的发行版源码,手动安装:

conda activate py3

# 把源码解压缩
tar zxvf tendo-0.2.15.tar.gz
cd tendo-0.2.15

# 从 "requirements.txt" 中,安装依赖包
#conda search pbr
conda install pbr
#conda search six  #version>=1.7.2
conda install six

# 安装 tendo.
python setup.py build
python setup.py install

注,第三方包安装的目标路径是当前环境的: Lib\site-packages

# 4. Jupyter Notebook

参考连接:

  1. StackOverflow: In which conda environment is Jupyter executing? (opens new window)
  2. Anaconda: Using Jupyter Notebook extensions (opens new window)
  3. CSDN: 【最全指南】如何在 Jupyter Notebook 中切换/使用 conda 虚拟环境? (opens new window)
  4. 知乎: Jupyter Notebook中切换conda虚拟环境 (opens new window)

默认情况下,Jupyter Notebook 打开只有一个 Kernel 可选。

为了让我们自己创建的 py3 环境也可以选,需要执行以下步骤。

  1. 以普通用户在 py3 环境中,安装 ipykernel 包:

    # Activate my "py3" environment.
    conda activate py3
    
    # Install package.
    conda install ipykernel
    
    # Deactivate current environment.
    conda deactivate
    
  2. 在 base 环境中,安装 nb_conda_kernels 包:

    conda install nb_conda_kernels
    
  3. 在 base 环境中,启动 Jupyter Notebook:

    可以用菜单启动,也可以通过命令行启动。

    # 在 base 环境中启动
    jupyter notebook
    

在浏览器中打开 Jupyter Notebook,在新建一个 Notebook 时,便可以选择 py3 环境:

在 Jupyter Notebook 中,我们可以检查环境:

# 检查当前环境
!conda info env

# 检查 Python 版本
!python -V

# 查看全部信息
!conda info --all

注,在 Jupyter Notebook 的单元格中,按“Ctrl+Enter”组合键来执行。

至此,Anaconda 在 Windows 上的安装便已全部完成。

# 5. 总结

Anaconda 作为 Python 优秀的开发环境,优点是大而全,缺点是安装后比较占用磁盘空间(在我的机器上占据10GB),且安装或更新第三方包的速度很慢(跟国内的网络也有关)。

Anaconda 的安装稍显麻烦。本文覆盖了个人用户在 Windows 上的安装和常用命令,足够应付日常使用。希望本文能够给您带来帮助。

Last Updated: 12/23/2024, 4:08:19 AM