Anaconda的基本介绍和使用及常用命令
使用anaconda+Pycharm搭建Django项目(一)
使用anaconda+命令搭建Django项目(一)
使用anaconda+Pycharm搭建Django项目-模板使用和前后端交互(二)
使用anaconda+Pycharm搭建Django项目-与SQLite数据库交互(三)
Python Django 之各种数据库连接及基本操作
一、Anaconda介绍
Anaconda,中文大蟒蛇,是一个开源的Anaconda是专注于数据分析的Python发行版本,包含了conda、Python等190多个科学包及其依赖项。
Anaconda就是可以便捷获取包且对包能够进行管理,包括了python和很多常见的软件库和一个包管理器conda。常见的科学计算类的库都包含在里面了,使得安装比常规python安装要容易,同时对环境可以统一管理的发行版本
特点:开源、 安装过程简单、高性能使用Python和R语言、免费的社区支持
二、为什么要使用Anaconda
在最开始使用python语言进行编写程序的时候,我们需要两个东西,一个是python解释器,用来解释编译我们的python代码。另一个是编写代码过程中使用到的第三方包,一般放在site-packages目录下。
解释器:
第三方包:
解释器: 由于python版本不同,解释器也分为python2和python3两个版本。python2和3之间无法互相兼容,也就是说用python2语法写出来的脚本不一定能在python3的解释器中运行
包集合: 包集合中包含了自带的包和第三方包,第三方包我们一般通过pip或者easy_install来下载,当一个python环境中不包含这个包,那么引用了这个包的程序不能在该python环境中运行
anaconda解决的问题:
第一个问题: 不同的项目,我们可能使用到的python版本是不一样的,python2和python3无法兼容,python3的小版本之间也存在着差异,这样我们在做项目的时候,去来回切换python环境变量,是非常麻烦的。有了anaconda以后,可以帮我们解决这个问题。这是anaconda帮我解决的第一个问题,python版本切换。
第二个问题: 另一个要解决的问题就是包的问题,如果我们本地只有一个python环境,我有很多个项目,使用pip install方法会默认把包安装在同一个路径中,这样把所有项目的包都放到同一个环境,就会导致我们的环境十分混乱。而且,当我们想把一个写好的程序放到另一个电脑上运行的时候,需要一个个区手动下载相关的包。这就让人十分头疼。此时,如果我们每个项目都用自己独立的环境,开发好以后,把该程序需要的环境独立打包出来,相当于我们的程序有着自己的沙盒,这个沙盒中有我们自有的环境和包。这样我们的程序就变的十分干净整洁。
第三个问题: 单独安装python,很多常用的功能包我们需要一个个手动去下载安装,使用anaconda则不用考虑这些问题,会自动包含很多常用的包。并且还捆绑了交互式代码编辑器。(Spyder、Jupyter...)。
三、Anaconda的包管理工具Conda
Conda是一个开源的包管理系统和环境管理系统,它主要用于安装和管理软件包以及创建和维护不同的软件环境。Conda最初是为Python程序设计的,但它可以用来打包和分发任何语言的软件,包括R、Ruby、Lua、Scala、Java、JavaScript、C、C++、FORTRAN等。Conda由Anaconda, Inc.开发,是Anaconda发行版的一部分,但也可以独立于Anaconda使用。
主要特点
- 跨平台:Conda支持Windows、macOS和Linux操作系统。
- 环境管理:Conda可以创建隔离的环境,每个环境可以有不同的软件包和版本,这有助于避免不同项目之间的依赖冲突。
- 依赖性解决:Conda使用先进的算法来解决软件包之间的依赖关系,确保软件包的兼容性。
- 二进制包:Conda提供了大量的预编译二进制包,这可以加快安装速度并简化编译过程。
- 社区支持:Conda有一个活跃的社区,社区成员通过Conda Forge等平台贡献和维护软件包。
- 易于使用:Conda提供了命令行界面,通过简单的命令就可以进行包的安装、更新、卸载和环境管理。
pip和conda的对比
pip和conda都是Python的包管理工具,但它们在设计和功能上有一些关键的区别。以下是它们的主要比较:
- 包管理方式
-
pip:
-
只管理Python包。
-
通常用于安装Python库和工具。
-
通过Python的
site-packages目录安装包。 -
conda:
-
管理Python环境和包,包括非Python包(如C/C++库)。
-
可以创建独立的环境,每个环境有自己的一套包和Python版本。
-
通过Conda环境的特定目录安装包,不污染全局Python环境。
- 环境管理
- pip:
- 没有内置的环境管理功能。
- 通常需要手动管理Python版本和依赖,或者使用虚拟环境(如
venv或virtualenv)。 - conda:
- 内置环境管理功能,可以轻松创建、激活和删除环境。
- 环境是自包含的,减少了版本冲突。
- 依赖性解决
- pip:
- 依赖性解决可能不如conda强大,尤其是在涉及复杂依赖关系时。
- 可能会遇到依赖冲突,需要手动解决。
- conda:
- 有更先进的依赖性解决算法,通常能更好地处理复杂的依赖关系。
- 通过Conda Forge等社区维护的通道,可以找到许多预编译的包。
- 跨平台支持
- pip:
- 主要用于Python包,对于跨平台的二进制包支持有限。
- conda:
- 提供了跨平台的二进制包,使得在不同操作系统上安装相同环境变得容易。
- 性能和速度
- pip:
- 安装速度通常取决于包的大小和依赖性。
- 有时需要编译包,这可能会减慢安装过程。
- conda:
- 通常提供预编译的包,这可以加快安装速度。
- 但是,conda环境的创建和激活可能比使用pip的虚拟环境慢。
- 社区和生态系统
- pip:
- 作为Python的官方包管理器,拥有庞大的用户基础和广泛的社区支持。
- PyPI(Python Package Index)是最大的Python包仓库。
- conda:
- 由Anaconda, Inc.维护,拥有活跃的社区和Conda Forge等仓库。
- 特别受数据科学和机器学习社区的欢迎。
- 使用场景
- pip:
- 适合于简单的Python项目,或者当你只需要安装几个Python库时。
- conda:
- 适合于复杂的Python项目,需要多个依赖和环境管理时。
- 适合于需要跨平台支持和预编译包的情况。
四、安装Anaconda
4.1 安装地址:www.anaconda.com/download/
4.2 发送邮件
接收邮件并下载
安装
配置环境变量
将安装目录的Script目录配置到环境变量中。
配置Anaconda源
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/
conda config --set show_channel_urls yes
查看源是否配置成功
conda info
五、常用命令
5.1 为项目创建虚拟环境
为项目创建项目独立的虚拟环境。
conda create -n 环境名 -y
也可以指定puthon版本
conda create -n 环境名 python=3.x.x -y
在这个环境中配置各种各样的包,就可以在这个环境中运行目标程序的运行。 查看python版本
python --version
5.2 查看所有环境
conda env list
5.3 激活与退出环境
激活环境
conda activate 环境名称
退出环境
conda deactivate
5.4 安装包
当前环境中安装包
conda install 包名称
指定包版本
conda install 包名称=version
指定环境中安装包
conda install -n 环境名称 包名称
5.5 查看环境下所有包
conda list
pip list
5.6 删除环境/包
删除环境
conda remove -n 环境名 --all -y
删除当前环境的包
conda remove 包名
删除指定环境的包
conda remove -n 环境名 包名
5.7 其他常用命令
| 命令 | 描述 |
|---|---|
| conda update conda -y | 更新当前conda版本 |
| conda search requests | 搜索包 |
| conda update numpy | 更新包 |
| conda update --all或conda upgrade --all | 更新所有包 |
| conda search tpython | 搜索python版本 |
| conda env export > environment.yml | 导出环境文件 |
| conda env create -f environment.yml | 从环境文件创建环境 |
| conda create -n 新环境名 --clone 旧环境名 | 复制环境 |
附1 测试包是否安装成功
conda activate 3.12.4