python和anaconda的区别


Posted in Python onMay 06, 2022

前言

如果你曾经是一名小白,下载安装东西都是跟着教程或者视频点点点没去思考,或者你是一位不清楚python、pycharm、anaconda之间关系的同学。那这篇文章或许会对你有帮助。

因为大部分人可能都是先安装的python,之后学了一段时间开始的anaconda,所以首先解释下python与pycharm。

注意!!!

不要轻易尝试把你以前用过的python添加到anaconda你新创建的环境!!!没什么意义也不差那点内存。如果你是大佬或者按照大佬写过的文章按步正确执行。否则你要花费5分钟卸载anaconda重装。这里我就不演示了。

答疑解惑

1. python与pycharm

我们用的pycharm是一个叫IDE(集成开发环境)的开发环境。你应该见过cmd,

python和anaconda的区别

或者python:

python和anaconda的区别

这样敲代码是不是很不方便,所以我们使用IDE,当然IDE的好处不止方便。

你像其他语言,当你去学的时候一般都是需要编译和IDE配合使用的。

像JetBrains全家桶,visual studio,等等都是这样。

python和anaconda的区别

再说下python。

这个东西叫编译器,就是编译代码用的,因为您自己识别01010也有些困难不是。

一般你下载安装编译器的时候都会让你安装环境变量,这是为了让我们方便在cmd调用,其实一些语言不安装也可以,因为用的不多。

比如我配置过python的环境变量,就可以在cmd中输入python

python和anaconda的区别

这是因为我添加了C:\python3.8这个环境变量,里面有python.exe。

python和anaconda的区别

这与我们手动打开python是一样的

python和anaconda的区别

python和anaconda的区别

同理像我们pip install,wheel等的命令也是,因为在环境变量中有C:\python3.8\Scripts,而在这个文件夹下有pip.exe

python和anaconda的区别

 等等。

至于为什么我们为什么下载安装python,配置环境变量后,再去安装pycharm,一点关系也没有,即不配置环境变量、以后配置也可以,并不影响你pycharm使用。多数教程配置环境变量,仅是为了告诉你安装成功和方便以后使用,因为他们执行了 xx --version 。

python和anaconda的区别

而在你新建pycharm项目或者文件时,因为它需要编译器,它会自动匹配上你下载的python,所以你能print("hellow world") 成功。

2. anaconda

这一个用于科学计算的python发行版本,它也可以运行多个版本的python,等有很多强大的功能。

你下载它可能是因为要学Numpy、Pandas、Matplotlib等的科学计算库了。当然这些东西python一样可以运行。你可以在终端中输入pip install numpy直接用,或者用pycharm打开个文件,里面写上import numpy,它会飘红,因为你没下载过,你鼠标放上去提示你pip下载你点击后一样会自动下载,然后就能用了。(这里提一嘴,你pip下载的东西都在C:\python3.8\Lib\site-packages 这里)

至于为什么用anaconda,我们科学计算一般都是探索性的学习,即每执行一步看一下结果,这样用Jupyter Notebook显然更方便。此外处理大量数据、一些运算类型等等也是更占优势。

当你去下载安装anaconda的时候放心安装,虽然anaconda里一样有python,但都没关系。

(注:Anaconda01是我当初自己起的文件名,你们起个好听的比如Anaconda3)

python和anaconda的区别

一般你下载anaconda的时候,也会配置环境变量,这个随便,如果你配置的在你之前配置的python下面,那么你cmd使用的时候会和以前一样,虽然有两个python,但是它会从上到下寻找,找到第一个就行了。

python和anaconda的区别

如果你换个顺序(建议一组一组的动),比如C:\Anaconda01在上面,那它就会执行C:\Anaconda01里的python,告诉你是Anaconda环境下的。(有警告别急,下面会讲。)。

python和anaconda的区别

这与我们打开Anaconda Prompt输入python是一样的。

python和anaconda的区别

注意:这是两个环境的python,举个例子:比如你以前用到requests模块下载过requests,他会在你这个python下载的site-package里,而anaconda你使用的话还要再去下载,虽然它下载的时候就自带了一些工具,但没有requests。即这两个是分开的。

哪怕你把以前下载的python删了也没问题,开打以前写的pycharm项目时无非就是把设置里的python(已经删掉了),更新换成Anaconda里的python就行,有些小东西比如某某库没下载重新下载就可以。

这里我python,anaconda两个都留着了,因为懒得弄也懒得合并,也不差那点内存。

Anaconda也有自己的命令conda,所以你就也能找到conda.exe的文件。

python和anaconda的区别

这里我python在上面,所以pip的路径来自于python3.8,而python3.8没有conda,它来自我环境变量下面的Anaconda。

python和anaconda的区别

(注意你配置的环境变量是系统的还是用户的,建议要改一起改) 

所以你Anaconda下载东西,可以直接在你anaconda环境下的python(要激活)或是anaconda prompt用pip install xx,或者直接使用conda install xx即可,它两种命令都能用。

解决警告激活问题:

python和anaconda的区别

Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated.  Libraries may fail to load.  To activate this environment
please see https://conda.io/activation

这个报错是为什么呢,我们上面讲了环境变量,这里直接输入python找到的是环境变量里第一个含有python.exe的,也就是我们放在前面的C://Anaconda01,它里面的python.exe而不是排在后面的python3.8文件里的python.exe。

python和anaconda的区别

这样直接cmd执行输入python会告知你需要激活,为什么需要激活?

python和anaconda的区别

我们执行这条命令,可以看到我们当前就一个名为base的环境,对应C盘里的Anaconda01下的一堆文件,我们要用 Anaconda01里的python,就得提前告诉他我们要用的是哪个。因为以后你或许会有很多个版本的python在这里。

执行如下命令:

这个就是 激活名为base的环境: activate 名字

输入:activate base,它会自动跳一句conda.bat activate base 

python和anaconda的区别

可以看到,前面多了个(base)

此时我们再输入python

python和anaconda的区别

你看,警告没了。

这与我们prompt是一样的了

python和anaconda的区别

所以它只是个警告而已,不是报错,就是你是用的时候要先激活,告诉人家用哪个。那个名为base的环境是默认的。 

补充:anaconda相比Python增加的内容

1、Python(shell) : 标准CPython。

2、Python(shell): 相当于在命令窗口的命令提示符后输入ipython回车。pip install ipython安装的ipython用法一样。

3、Ipython QTConsole。

4、Python Notebook:直接点击打开,或者在命令提示符中输入ipython.exe notebook。

5、Jupyter QTConsole。

6、Jupyter Notebook:直接点击打开,或在终端中输入: jupyter notebook 以启动服务器;在浏览器中打开notebook页面地址“http://localhost:8888 ”。

Jupyter Notebook是一种 Web 应用,能让用户将说明文本、数学方程、代码和可视化内容全部组合到一个易于共享的文档中。

7、Spyder:直接点击打开IDE。优点就是模仿MATLAB的“工作空间”。

8、Anaconda Prompt : 命令行终端。

9、支持其他IDE,如Pycharm。

总结

到此这篇关于python和anaconda区别以及先后安装问题的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
python处理圆角图片、圆形图片的例子
Apr 25 Python
pycharm 使用心得(八)如何调用另一文件中的函数
Jun 06 Python
通过数据库向Django模型添加字段的示例
Jul 21 Python
Python连接数据库学习之DB-API详解
Feb 07 Python
基于python的多进程共享变量正确打开方式
Apr 28 Python
python利用smtplib实现QQ邮箱发送邮件
May 20 Python
Python实现常见的回文字符串算法
Nov 14 Python
Python安装Flask环境及简单应用示例
May 03 Python
浅谈django 模型类使用save()方法的好处与注意事项
Mar 28 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
Jul 07 Python
python正则表达式的懒惰匹配和贪婪匹配说明
Jul 13 Python
Python中免验证跳转到内容页的实例代码
Oct 23 Python
python神经网络Xception模型
May 06 #Python
Python使用永中文档转换服务
May 06 #Python
Python tensorflow卷积神经Inception V3网络结构
May 06 #Python
Python实现Matplotlib,Seaborn动态数据图
May 06 #Python
PYTHON InceptionV3模型的复现详解
代码复现python目标检测yolo3详解预测
讲解Python实例练习逆序输出字符串
May 06 #Python
You might like
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
PHP常用数组函数介绍
2014/07/28 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
2015/06/17 PHP
PHP面向对象程序设计模拟一般面向对象语言中的方法重载(overload)示例
2019/06/13 PHP
PHP切割整数工具类似微信红包金额分配的思路详解
2019/09/18 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
jquery遍历select元素(实例讲解)
2013/12/31 Javascript
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
JavaScript onkeydown事件入门实例(键盘某个按键被按下)
2014/10/17 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
Bootstrap中表单控件状态(验证状态)
2016/08/04 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
OpenLayer3自定义测量控件MeasureTool
2020/09/28 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
[04:03][TI9趣味短片] 小鸽子茶话会
2019/08/20 DOTA
Python内置函数—vars的具体使用方法
2017/12/04 Python
VScode编写第一个Python程序HelloWorld步骤
2018/04/06 Python
Python中的元组介绍
2019/01/28 Python
Pytorch之卷积层的使用详解
2019/12/31 Python
解决python执行较大excel文件openpyxl慢问题
2020/05/15 Python
利用CSS3实现动态的二级三级菜单效果实例源码
2017/01/04 HTML / CSS
CSS3中的@keyframes关键帧动画的选择器绑定
2016/06/13 HTML / CSS
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
详解通过HTML5 Canvas实现图片的平移及旋转变化的方法
2016/03/22 HTML / CSS
员工培训心得体会
2013/12/30 职场文书
自荐信格式简述
2014/01/25 职场文书
2014年感恩母亲演讲稿
2014/05/27 职场文书
关爱残疾人标语
2014/06/25 职场文书
中秋节慰问信
2015/02/15 职场文书
求职自荐信范文(优秀篇)
2015/03/27 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
停电放假通知
2015/04/14 职场文书
2016党校培训心得体会
2016/01/07 职场文书
小学英语教学反思范文
2016/02/15 职场文书
解决Mysql多行子查询的使用及空值问题
2022/01/22 MySQL