安装好的anaconda如何使用,mac怎么使用anaconda
给Python初学者:Anaconda初学者指南Anaconda使用总结
概述
很多学python的初学者甚至学了一段时间。当人们接触到anaconda或其他虚拟环境工具时,会感到无助。最主要的原因是他们不知道工具是干什么用的,用来做什么,为什么要做。比如一开始作者不明白为什么除了python之外我还需要这样一个东西,它和python有什么联系和区别,为什么可以用它来管理python。
在使用之后,我逐渐发现了anaconda等环境管理工具实际上在做什么,以及为什么我们需要它们来管理我们的python环境。
首先我们要了解Anaconda诞生的目的,然后是如何使用Anaconda。
Python本身
首先需要从python本身入手,从根源上寻找问题。在用python写程序之前,我们需要下载一个python解释器,这是python的本体。如果没有python解释器,即使我们编写了极其正确和优雅的python脚本,我们也无法运行它。那么这个翻译在哪里?就在你安装python的地方,比如我的在C:\ users \ AC ring \ appdata \ local \ programs \ python \ python 36-32。
项目的结构如上图所示,还有我们熟悉的python.exe,也就是Python解释器。
除此之外,还有一个重要的东西,Lib,就是python包文件,包括自带包和第三方包。
Lib目录如上所示。这里有python自己的包,比如日志包和异步包并发,都是作者常用的。所有第三方包都放在site-packages文件夹中。
了解了这些,我们就对整个python环境有了一个大致的了解。其实最重要的是python环境需要一个解释器和包集合.解释器
解释器根据python的版本大致分为2和3。python2和3互不兼容,这意味着用Python 2语法编写的脚本可能无法在python3解释器中运行。包集合
包包括自有包和第三方包。第三方软件包通常通过pip或easy_install下载。当python环境不包含此包时,引用此包的程序无法在python环境中运行。
例如,如果爬虫脚本使用第三方请求包,而另一台计算机刚刚安装了原始python,也就是说,根本没有第三方包,那么这个爬虫脚本不能在另一台计算机上运行。问题所在
在解释完python环境之后,接下来就是解释这样的环境实际上存在哪些问题,因为anaconda就是为了解决这些问题而正式诞生的。
我应该安装Python2还是Python3?
Python2和python3在语法上不兼容,那么我应该在我的机器上安装python2还是python3呢?也许一开始选择一个学习是好的,但是如果你要开发的程序必须使用python2而不是python3,那么这个时候你就要下载另一个python2了。此时环境变量应该设置谁的目录?切换环境变量不会很麻烦吗?
包管理
如果我在本地只有一个python环境,那么我所有程序使用的所有包都只能放在同一个环境中,这就导致了环境的混乱。另外,当我把写好的程序放到另一台电脑上运行时,会遇到需要手动逐个下载的情况。真的很烦。如果每个程序都可以在不同的环境下开发,然后程序需要的所有环境(第三方包)都可以在开发后独立打包就好了。010-
那我们的蟒蛇该上场了。我们先安装Anaconda,然后我会逐一告诉你如何使用Anaconda来解决我们的问题。Anaconda
下载官网
下载Python 3版,毕竟python2以后会停止维护.下载
只需按照安装程序的指示一步一步安装即可。安装完成后,还会有几个应用程序。
Anaconda Navigtor:用于管理工具包和环境的图形用户界面,许多后续管理命令也可以在Navigator中手动实现。
Jupyter notebook:基于web的交互式计算环境,可以编辑易读的文档,并显示数据分析的过程。
Qtconsole:一个类似终端的图形界面程序,可以执行IPython。与Python Shell接口相比,qtconsole可以直接显示代码生成的图形,实现多行代码输入和执行,并且内置了很多有用的函数和功能。
Spyder:使用Python语言的跨平台、科学计算集成开发环境。
暂时不用担心,了解一下就好。
配置环境变量
如果是windows,需要在安装中添加anaconda安装目录的Scripts文件夹。比如我的路径是D:\ Program Files \ Anaconda 3 \ scripts,需要根据我个人的安装路径自行调整。
然后你可以打开命令行(最好是在管理员模式下)输入conda - version。
如果输出conda 4.6.11之类的,环境变量设置成功。
为了避免可能的错误,我们在命令行输入conda upgrade - all来升级所有工具包path变量。
接下来,我们可以使用anaconda来创建独立的python环境。下面的例子都是在命令行操作的。请打开命令行。
使活动
Activate可以把我们引入anaconda设置的虚拟环境。如果后面不加任何参数,就会进入anaconda自己的基础环境。
可以试着输入python,会进入基础环境的python解释器。如果您将python环境从原始环境中移除,您将意识到此时您在命令行中使用的不是原始的python,而是基础环境中的python。并且命令行前面会有一个附加的(base)表示我们目前处于基本环境中。
退出python解释器
退出()激活
创建自己的虚拟环境。
当然,我们不满足于一个基础环境,我们应该为我们自己的程序安装一个单独的虚拟环境。
创建一个名为learn的虚拟环境,并指定python版本3(这里conda会自动找到3中的最新版本进行下载)
conda create -n学习python=3
所以我们有一个虚拟学习环境。接下来,我们切换到这个环境。同样,在activae命令后添加要切换的环境的名称。
切换环境
激活learn,如果忘记名字,我们可以先用。
检查所有环境的Condenv列表。
目前的学习环境除了python自带的一些官方包之外,没有其他包。我们可以尝试更干净的环境。
输入python打开python解释器,然后输入管理虚拟环境。
报告找不到请求包是正常的。接下来,我们将演示如何安装请求包。
import requests
条件安装请求或
安装pip请求以安装请求包。
安装完成后,我们将python输入解释器并导入请求包,这次一定要成功。
卸载第三方软件包。
那么如何卸载一个包呢?
Conda删除请求或
Pip卸载请求也可以。
查看环境包信息
要查看当前环境中所有已安装的软件包,可以使用
许可列表导入和导出环境
如果您想要导出当前环境的包信息,您可以使用
condenvexportenvironment.yaml将包信息存储在yaml文件中。
当您需要重新创建相同的虚拟环境时,您可以使用
Condenv Create-F环境。实际上,YAML的命令很简单,对吗?下面我举几个常用的,相信多打两遍就能记住。
Activate //切换到基础环境activate learn //切换到学习环境conda create -n learn python=3 //创建一个名为learn的环境并指定python版本3(最新版本)conda env list //列出conda管理的所有环境conda list //列出当前环境的所有包conda install requests install requests包conda remove requests包conda remove-nlearn-all//删除学习环境及其所有下属包,conda update requests, 更新请求包,conda env export environment.yaml//Export当前环境的包信息,conda env create-f environment.yaml//Create使用配置文件创建新的虚拟环境。
你可能想知道为什么anaconda可以做这些事情。他的原则是什么?让我们来看看anaconda的安装目录。
这里只截取了一部分,但是当我们把它和本文开头的python环境目录进行对比的时候,可以发现非常相似。其实这就是基地环境。里面有一个基本的python解释器,lLib里的基础环境里有各种包文件。
那我们自己创造的环境呢?我们可以看到一个envs,是我们自己创建的各种虚拟环境的入口。点进去看看。
你可以发现我们之前创建的学习目录在下面,然后点进去。
这不是标准的python环境目录吗?
从这个角度来看,anaconda所谓的创建虚拟环境,其实就是安装一个真实的python环境,但是我们可以通过activate、conda Conda等命令随意切换我们当前的python环境,用不同版本的解释器和不同的包环境运行python脚本。
安装第三方包
在与pycharm连接中,修改项目解释器,单击齿轮图标,然后单击添加本地作为您的环境的python.exe解释器。
例如,如果您想在learn环境中编写一个程序,那么将其修改为D:\ program files \ anaconda 3 \ envs \ learn。您可以看到下面的依赖包也成为了学习环境中的包。接下来,我们就可以愉快地用pycharm编码了。
作者:AC手环
链接:https://www.jianshu.com/p/eaee1fadc1e9
来源:简书
简化书版权归作者所有。转载请联系作者获得授权并注明出处。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。