Anaconda安装与Python虚拟环境配置保姆级图文教程(附速查字典)

简介: Anaconda安装与Python虚拟环境配置保姆级图文教程(附速查字典)

目录

1 混乱的Python库

你有没有遇到过这样的问题


在项目A中需要用到某个Python库PkgA,且项目A的其他库要求PkgA的版本必须为v3.0以上,你按要求安装了PkgA v3.0;过了一段时间,老板交给你一个项目B,又用到了PkgA,但这次其他库要求PkgA的版本必须为v2.0及以上,这时候你怎么办?


安装PkgA v3.0则新项目B无法运行,安装PkgA v2.0则旧项目A无法运行,要想同时在一个环境里使用两个项目,必须不停地重装PkgA来更换版本。


上面的例子只涉及两个项目的一个依赖库冲突,如果多个项目呢?如果多个依赖冲突呢?


image.png

上面的例子说明了什么呢?其实就是Python语言的痛点:


依赖网复杂


Python的包非常丰富,轮子相当多,开发者在工作时难免会调用这样或那样的包,久而久之,一个功能依赖另一个功能,形成复杂的依赖网络


包管理混乱


通过报错信息不断安装依赖包终于解决了依赖库的问题,但随之而来的就是版本问题,也就是上面例子所体现的依赖冲突,本质上是某个包开发时的不向下兼容导致的


为了解决上面的问题,更好地管理Python库,让其扬长避短,就必须使用环境管理工具,例如本文介绍的Anaconda。

2 什么是Anaconda

Anaconda是一个开源的跨平台Python发行版本,支持


Windows

macOS

Linux

操作系统。Anaconda中包含了conda等180多个科学包及其依赖项。其中conda则是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。


image.png

3 Anaconda的安装

Anaconda下载界面选择相应的操作系统,本文主要介绍在Windows与Linux下的安装流程。


image.png

3.1 Windows系统

Windows有图形化的安装向导,按下面的步骤一步步安装即可

  • 运行安装向导


image.png

  • 选择I Agree

image.png

  • 选择All Users,其实选Just Me也可以,但这台主机的其他用户就无法使用Anaconda

image.png

  • 选择安装路径

image.png

  • 保持默认选项

image.png

  • 等待安装结束

image.png

  • 配置环境变量

image.png

3.2 Linux系统

对于Linux系统,没有图形化的安装界面,按下面输入终端命令即可

  • 进入Anaconda安装目录并运行官方安装程序
bash ./Anaconda3-2021.11-Linux-x86_64.sh

添加环境变量,其中~/Project/anaconda3/bin替换成自己的安装目录

echo 'export PATH="~/Project/anaconda3/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

3.3 测试

打开cmd(Windows)或Terminal(Linux),输入

conda --version

如果输出版本号则说明安装成功,如下所示。

image.png

注意,若运行python脚本时仍然是原环境而非Anaconda环境,则需要注意配置编辑器的python解释器路径。VSCode中,在tasks.json中的args参数中配置

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "catkin_make:debug",
            "type": "shell",
            "command": "catkin_make",
            "args": ["-DPYTHON_EXECUTABLE=/home/winter/Project/anaconda3/envs/server/bin/python "],
            "group": {"kind":"build","isDefault":true},
            "presentation": {
                "reveal": "always"
            },
            "problemMatcher": "$msCompile"
        }
    ]
}

4 虚拟环境管理(速查字典)

Anaconda可以创建虚拟环境,虚拟环境间彼此隔离,可以解决依赖混乱的情况。虚拟环境管理主要涉及以下的命令,可以作为速查字典以备不时之需

  • 创建虚拟环境
conda create -n test python=3.8
  • 创建了一个名为test的采用3.8版本Python解释器的虚拟环境
  • 切换虚拟环境
conda activate test
  • 切换到名为test的虚拟环境。默认地,用户会进入Anaconda自带的base环境,注意base环境已经与安装Anaconda前的环境不同,因此第一次使用Anaconda可能会产生依赖冲突和缺失。
  • 查看虚拟环境
conda env list

依赖安装与卸载

# 安装
conda install pkg
pip install pkg
# 卸载
conda remove pkg
pip uninstall pkg

这里推荐使用清华源加快安装速度,使用方法是

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pkg==version 

即安装了名为pkg,版本为version的包

如果依赖很多,建议使用requirements.txt批量配置,命令为

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

查看环境依赖

conda list

复制虚拟环境

conda env export > test_env.yaml
conda env create -f test_env.yaml
  • 常用于导出当前虚拟环境的信息或复制虚拟环境
  • 删除虚拟环境
conda remove -n test --all
  • 删除名为test的虚拟环境

🔥 更多精彩专栏

目录
相关文章
|
Linux 计算机视觉 C++
【解决方案】Building wheel for opencv-python:安装卡顿的原因与解决方案
当你安装OpenCV时,命令行停在Building wheel for opencv-python (PEP 517) ... -似乎卡住了。这并非程序假死,而是其编译耗时巨大。本文将揭示原因,并提供优化安装体验的实用方法。
1421 88
|
10月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
506 2
|
10月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
811 0
|
11月前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
1578 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
11月前
|
存储 JSON 数据管理
Python字典:高效数据管理的瑞士军刀
Python字典基于哈希表实现,提供接近O(1)的高效查找,支持增删改查、遍历、合并等丰富操作,广泛应用于计数、缓存、配置管理及JSON处理。其灵活性与性能使其成为数据处理的核心工具。
786 0
|
11月前
|
JSON 缓存 开发者
淘宝商品详情接口(item_get)企业级全解析:参数配置、签名机制与 Python 代码实战
本文详解淘宝开放平台taobao.item_get接口对接全流程,涵盖参数配置、MD5签名生成、Python企业级代码实现及高频问题排查,提供可落地的实战方案,助你高效稳定获取商品数据。
|
12月前
|
JavaScript 前端开发 机器人
【Azure Bot Service】在中国区Azure上部署机器人的 Python 版配置
本文介绍了在中国区Azure上使用Python SDK配置Azure Bot Service时遇到的问题及解决方案,涵盖参数设置与适配器配置,适用于希望在Azure中国区部署Python机器人的开发者。
293 9
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
943 2
|
11月前
|
存储 缓存 安全
Python字典:从入门到精通的实用指南
Python字典如瑞士军刀般强大,以键值对实现高效数据存储与查找,广泛应用于配置管理、缓存、统计等场景。本文详解字典基础、进阶技巧、实战应用与常见陷阱,助你掌握这一核心数据结构,写出更高效、优雅的Python代码。
349 0

推荐镜像

更多