GIScoding

虎皮猫咖

conda环境配置

65
2024-11-20

环境安装与配置

安装 miniconda

win 系统
官网下载安装包安装即可

linux 系统(x86_64 架构)

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh

After installing, close and reopen your terminal application or refresh it by running the following command:

source ~/miniconda3/bin/activate

To initialize conda on all available shells, run the following command:

conda init --all

MacOS 系统 (M 系列芯片)

mkdir -p ~/miniconda3
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh

环境默认不启动 conda

conda config --set auto_activate_base false

# 后续要进入conda base环境
conda activate base

# 设置默认启动base环境
conda config --set auto_activate_base true

win 系统设置在终端识别 conda 命令

在 win 环境下首次安装 miniconda 在 powershell 或者命令提示符中输入 conda 指令系统并没有识别此关键词,终端输出红字,需要配置一些指令。

首先启动 Anaconda Prompt 或者 Miniconda Prompt,然后执行:

conda init -all

之前终端中报错的原因是powershell启动了严格的审查脚本策略。 PowerShell 有一个叫做“执行策略”(Execution Policy)的安全特性,用于控制是否可以运行脚本以及从哪里可以运行它们。

默认情况下,PowerShell 的执行策略可能是设为 Restricted 或 AllSigned,这意味着只有经过数字签名的脚本才能运行,或者根本不能运行任何脚本。要解决这个问题,你需要更改执行策略以允许运行脚本。

  1. 打开 PowerShell 作为管理员。
  2. 输入以下命令来查看当前的执行策略:
Get-ExecutionPolicy
  1. 如果输出显示 Restricted 或 AllSigned,则需要将其更改为 RemoteSigned 或 UnrestrictedUnrestricted 是最宽松的设置,允许运行所有脚本)。输入以下命令之一来更改执行策略:
Set-ExecutionPolicy RemoteSigned

或者

Set-ExecutionPolicy Unrestricted
  1. 系统将提示你确认更改,键入 Y 并按 Enter 键确认。
  2. 重新启动 PowerShell 或关闭并重新打开命令行界面,然后再次尝试运行你的脚本。

配置安装源

查看当前源

conda config --show channels        ## 查看当前源

添加源
各系统都可以通过修改用户目录下的 .condarc 文件来使用 TUNA 镜像源
Windows 用户无法直接创建名为 .condarc 的文件,可先执行 conda config --set show_channel_urls yes 生成该文件之后再修改。

linux 系统修改:

# 如果文件不存在,执行如下命令
conda config --set show_channel-urls yes

#编辑./condarc文件
vim ~/.condarc

i 为插入模式,esc 键退出编辑, :wq 为保存退出。:wq! 强制覆盖退出

i 进入编辑模型,将下列内容复制到 .condarc 文件中,esc 键退出编辑, :wq 为保存退出

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/

执行 cat ~/.condarc 查看是否换源成功

image.png

如果想要恢复默认的配置,执行如下操作:

conda config --remove-key channels     ## 恢复默认源
conda config --show channels           ## 查看当前源

conda 常用操作

创建环境

# 创建环境,并指定python版本
conda create -n myenv python=3.8

# 创建环境,指定安装某些包
conda create -n myenv pandas jupyterlab 

# 克隆已存在的环境
conda create -n myclone --clone myenv

# 删除已存在的环境
conda env remove --name myenv

其中, conda 创建虚拟环境的常用参数如下:

  • -n--name:指定要创建的环境名称。
  • -c--channel:指定额外的软件包通道。
  • --clone:从现有的环境克隆来创建新环境。
  • -p--prefix:指定环境的安装路径(非默认位置)。

管理 conda环境

# 激活已存在的环境
conda activate myenv

# 退出已激活的环境
conda deactivate

# 列出已有的基环境(在base环境执行, 下列三条指令均可)
conda env list
conda info -e
conda info --envs

# 删除某个虚拟环境
conda remove --name name --all

# 只删除虚拟环境中的某个或者某些包
conda remove --name name package_name

在激活环境中常用命令

# 查看该环境的安装的包
conda list

# 从Anaconda默认频道安装 包
conda install pandas

# 从 conda-forge频道安装包
conda install -c conda-forge gdal

# 升级安装包
conda update pandas

# 卸载指定安装包
conda uninstall pandas

[!hint] conda-forge
conda-forge 是一个社区维护的 conda 通道,它包含了大量的开源软件包,这些软件包可能不在默认通道中可用。通过使用 conda-forge 通道,您可以访问更多的软件包,以满足您的需求。一些人更喜欢使用 conda-forge,因为它通常包含了最新的软件包版本和更多的选择。


pip 也是 python 常用的包管理器

# -U 升级全部依赖包
pip install -U pandas

# 卸载pip 安装包
pip uninstall pandas

condapip的一些区别:

  1. conda可以管理非python包,pip只能管理python包。
  2. conda可以用来创建虚拟环境,pip不能,需要依赖virtualenv之类的包。
  3. conda安装的包是编译好的二进制文件,安装包文件过程中会自动安装依赖包;pip安装的包是wheel或源码,装过程中不会去支持python语言之外的依赖项。
  4. conda安装的包会统一下载到当前虚拟环境对应的目录下,下载一次多次安装。pip是直接下载到对应环境中。

Wheel 是一种 Python 安装包的格式。

它是一种预编译的二进制分发格式,类似于 conda 中的已编译二进制文件。

Wheel 格式的主要优点包括:

  1. 安装速度快:因为已经进行了预编译,所以在安装时不需要像源码安装那样进行编译过程,节省了时间。
  2. 一致性:确保在不同的系统和环境中安装的结果是一致的。

例如,如果您要安装一个大型的 Python 库,使用 Wheel 格式可以避免在不同的机器上因为编译环境的差异而导致的安装问题。而且,对于那些没有编译环境或者编译能力较弱的系统,Wheel 格式能够让安装过程更加顺畅。