python 多环境多版本

这篇博客介绍了如何利用conda工具管理Python的多环境和多版本,包括环境的创建、查看、激活、切换、复制和删除,以及在环境中安装、更新和移除Python包。重点强调了conda在环境管理和包管理方面的便利性,提供了详细的操作步骤和提示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

  • 开发过程中,需要使用 python 2 或 python 3 或 不同版本的 python 包

目标

  • 通过工具,管理不同版本的 python 或 python 环境,以适应不同需要,例如 在 python 2 和 python 3 之间切换;再如,切换到安装有指定版本 python 包的 python 环境

解决方案

  • conda 是一个包管理器,也是一个环境管理器
  • 通过 conda 工具,管理 python 多环境、多版本

准备工作

安装 conda

  • 命令行运行 python --version,查看 python 版本
  • 根据 python 版本和操作系统类型,到 这里 下载 conda,注意下载 “bash installer”
  • 找到下载后的文件,命令行运行 sh Miniconda2-latest-MacOSX-x86_64.sh,一路 yes 即可

确认已经安装好 conda 工具

conda --version

查看 conda 命令的帮助信息

# 以 update 命令为例,查看 conda 命令帮助
conda update --help

升级 conda

conda update conda

conda 管理 python 环境

创建 python 环境

# 基于安装 conda 时的 python 版本
# 创建一个名为 py_env_for_test
# 包含 biopython 包的 python 环境
conda create --name py_env_for_test biopython

# 基于 python 3
# 创建一个名为 py3_env_for_test
# 包含 Astroid 和 Babel 包的 python 环境
conda create --name py3_env_for_test python=3.7.2 Astroid Babel

查看已经存在的 python 环境

# 查询结果中,通过星号“*”标识当前被激活的 python 环境
conda info --envs

通过 python 环境名激活、切换 python 环境

# 激活(切换到)名为 py_env_for_test 的 python 环境
source activate py_env_for_test

# 激活(切换到)名为 py3_env_for_test 的 python 环境
source activate py3_env_for_test

# 激活(切换到)系统 python 环境(退出当前环境)
source deactivate

创建已有 python 环境的副本

# 创建 py_env_for_test 环境的副本,起名为 py_env_for_test_clone
conda create --name py_env_for_test_clone --clone py_env_for_test

通过 python 环境名删除指定 python 环境

# 删除名为 py_env_for_test_clone 的 python 环境
conda remove --name py_env_for_test_clone --all

管理 python 环境下的 python 包

查看指定 python 环境下的所有 python 包

# 查看当前 python 环境下的所有 python 包
conda list

# 查看 py3_env_for_test 环境下的所有 python 包
conda list --name py3_env_for_test

查找安装包

# 查找所有可被安装的 python 及版本信息
conda search python

# 查找所有可被安装的名为 numpy 的 python 包及版本信息
conda search numpy

# 通过正则表达式,模糊查询所有可被安装的名字中包含 nump 的 python 包及版本信息
conda search '*nump*'

# 查找名为 numpy,版本号大于等于 1.15.0 的 python 包
conda search 'numpy>=1.15.0'

# 查找所有兼容 python3.7.2 的 python 包
conda search --full --name python=3.7.2 

通过 conda 向环境中添加新的 python 包

# 在当前 python 环境中添加版本号为 11.3.3 的 mkl 包
conda insall mkl=11.3.3

# 向 py3_env_for_test 环境中,添加版本号为 11.3.3 的 mkl 包
conda install --name py3_env_for_test mkl=11.3.3

通过 pip 向环境中添加新的 python 包

# 通过 pip,可以安装那些无法通过 conda 安装的 python 包
# 通过 pip 安装包前,需要先切换到需要安装 python 包的 python 环境
# 例:通过 pip,安装 numpy 包
pip install numpy

删除指定环境中的指定 python 包

# 删除当前环境中的 mkl 包
conda remove mkl

# 删除 py3_env_for_test 环境中的 mkl 包
conda remove --name py3_env_for_test mkl

温馨提示

  • conda 把不同版本的 python 作为包进行管理,因此
    • conda remove --name py3_env_for_test mkl 删除的是环境下的 mkl 包
    • conda remove --name py3_env_for_test --all 删除的是环境
  • conda 工具的各个参数,存在简写模式
    • --name 的简写为 -n,例
    # 等价的两条命令
    conda list --name py3_env_for_test 
    conda list -n py3_env_for_test
    
    • --envs 的简写为 -e
    • 以此类推
  • 善用 help,例
conda -h
conda list -h
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值