Anaconda在Windows上的安装与使用
我喜欢使用 Anaconda (opens new window) 作为 Python 的运行环境,用于 Python 软件开发和数据分析。它能够轻松搜索和安装数以千计的 Python/R 包,并访问庞大的社区内容和支持库。Anaconda 对于学生和教育用户,以及个人从业者或爱好者免费,还包括一个 5GB 的在线可共享的 Notebook 服务。
Anaconda 免费版已经足够个人使用,下面将介绍在 Windows 上安装 Anaconda 的步骤以及基本的使用。
参考链接:
- Which Python Should I Download? Anaconda, ActivePython or Python (activestate.com) (opens new window)
- Anaconda商用要收费了怎么办?没关系,我们有miniforge - 知乎 (zhihu.com) (opens new window)
- Miniconda vs Anaconda | The Similarities and Differences - Linux Magazine (linuxnetmag.com) (opens new window)
- Windows Terminal conda - DEV Community (opens new window)
# 1. 安装Anaconda
下面是在 Windows (适用于 Win 10 或 Win 11,64 位操作系统)上的安装过程记录,参考官方的文档:
根据当前的操作系统,下载 Anaconda3 最新版的安装包。例如,这里选择下载的文件是:
Anaconda3-2024.06-1-Windows-x86_64.exe
有两种安装方式:
以普通用户方式,仅安装给当前用户。 这种方式不需要管理员权限,这也是 Anaconda 官方推荐的安装方式。选择这种安装方式,默认的安装路径是:
%USERPROFILE%\anaconda3
(例如在本机中是:C:\Users\bobyuan\anaconda3
),也可以指定一个当前用户可以访问的其他路径。以管理员权限安装给本机的全部用户。 这种方式将安装到本机的系统中(为机器内的用户所共享),若机器内有其他 Python 环境的安装,它可能会对系统的现有环境造成影响。若您确认机器里面没有安装其他 Python 且希望这样以管理员身份安装,可选择这种安装方式。它默认的安装路径是
%ALLUSERSPROFILE%\anaconda3
(例如在本机中是:C:\ProgramData\anaconda3
)。
下面将以官方推荐的第一种“普通用户方式”来安装。
安装时,建议全部采用默认的安装路径和默认的选项。若执意要更换安装路径,请避免路径太长,且不包含空格、特殊字符、中文字符等,以免引入不可预见的麻烦。下面的例子中,我选择 C:\opt\app\anaconda3
作为目标安装路径。
注,若是以管理员用户给系统全局进行安装的情况下:
可选的,可将下面的环境变量加入到PATH 系统环境变量中。
C:\ProgramData\anaconda3;C:\ProgramData\anaconda3\Scripts;C:\ProgramData\anaconda3\Library\bin
在 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 包。
参考链接:
- Conda Documentation — conda-docs documentation (opens new window)
- A Beginner's Guide to Add and Remove Anaconda Channels - Anaconda Tutorial (tutorialexample.com) (opens new window)
下面是一些常见的使用命令:
检查环境
# 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
创建环境
# 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
配置
注,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
包管理
# 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
更新 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
参考连接:
- StackOverflow: In which conda environment is Jupyter executing? (opens new window)
- Anaconda: Using Jupyter Notebook extensions (opens new window)
- CSDN: 【最全指南】如何在 Jupyter Notebook 中切换/使用 conda 虚拟环境? (opens new window)
- 知乎: Jupyter Notebook中切换conda虚拟环境 (opens new window)
默认情况下,Jupyter Notebook 打开只有一个 Kernel 可选。
为了让我们自己创建的 py3 环境也可以选,需要执行以下步骤。
以普通用户在 py3 环境中,安装 ipykernel 包:
# Activate my "py3" environment. conda activate py3 # Install package. conda install ipykernel # Deactivate current environment. conda deactivate
在 base 环境中,安装
nb_conda_kernels
包:conda install nb_conda_kernels
在 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 上的安装和常用命令,足够应付日常使用。希望本文能够给您带来帮助。