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使用面向对象方式创建线程实现12306售票系统
Dec 24 Python
python实现图片批量压缩程序
Jul 23 Python
解决Pycharm界面的子窗口不见了的问题
Jan 17 Python
Python实现将HTML转成PDF的方法分析
May 04 Python
django表单的Widgets使用详解
Jul 22 Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 Python
Python操作MongoDb数据库流程详解
Mar 05 Python
详解pandas绘制矩阵散点图(scatter_matrix)的方法
Apr 23 Python
详解python with 上下文管理器
Sep 02 Python
windows+vscode安装paddleOCR运行环境的步骤
Nov 11 Python
使用pandas实现筛选出指定列值所对应的行
Dec 13 Python
用Python爬取某乎手机APP数据
Jun 15 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
php实现分页工具类分享
2014/01/09 PHP
php封装的mysqli类完整实例
2016/10/18 PHP
PHP+redis实现的购物车单例类示例
2019/02/02 PHP
javascript String 对象
2008/04/25 Javascript
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
JavaScript学习笔记(二) js对象
2011/10/25 Javascript
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
JavaScript获取页面中表单(form)数量的方法
2015/04/03 Javascript
jquery插件splitScren实现页面分屏切换模板特效
2015/06/16 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
json格式数据的添加,删除及排序方法
2016/01/21 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
使用vue-router在Vue页面之间传递数据的方法
2019/07/15 Javascript
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
vue中利用three.js实现全景图的完整示例
2020/12/07 Vue.js
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
用python 制作图片转pdf工具
2015/01/30 Python
Python列表(list)常用操作方法小结
2015/02/02 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
2017/08/23 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
Python 创建TCP服务器的方法
2020/07/28 Python
俄罗斯购买自行车网站:Vamvelosiped
2021/01/29 全球购物
一道SQL存储过程面试题
2016/10/07 面试题
关于运动会广播稿200字
2014/10/08 职场文书
教师辞职信范文
2015/02/28 职场文书
亮剑观后感500字
2015/06/05 职场文书
课程设计感想范文
2015/08/11 职场文书
学生会任命书范本
2015/09/21 职场文书
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL