深度学习(一)——基础知识:Python语言/解释器/环境/编辑器

1.1 Python解释器

Python 是一门动态的、面对对象的脚本语言, Python 解释器 是负责将 Python 语言翻译成计算机可以理解的指令。 我们在Python 官网https://www.python.org/ )上安装的只是Python解释器。具体的安装流程可以参考以下博客:(3 封私信 / 80 条消息) python下载与安装教程(很详细) - 知乎

我们将Python解释器安装好了之后,在开始菜单里面有IDLE,该IDLE是跟随Python发布的最简集成环境 ,打开就是黑框框可以编写代码, 但是一直在这里编写代码,效率就会很低,于是出现了集成度很高的代码编辑器

正如上面所说,为了更加高效的编写代码,出现了集成度很高的代码编辑器,比如Pycharm、Vscode等。再进一步了解这些编辑器之前,我们先看看IDE的概念,集成开发环境(IDE,Integrated Development Environment)用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。

(1)Vscode是开放源代码的代码编辑器。

(2)Jupyter Notebook是基于 Web 的 IDE。允许使用 Notebook 直接创建博客或代码演示;确保可复现的研究与解释;在运行整体前可以运行并修正局部代码块。但是 jupyter 只会打开当前文件夹,其他文件夹里的包是打不开的,还是得靠 pycharm

(3)Pycharm是用于编写Python代码的最流行的代码编辑器之一,是为了Python编辑语言专门打造的一款IDE(集成开发环境)。

(4)IDLE是开发 python 程序最基本的IDE,具备基本的IDE的功能。当安装好Python解释器以后,IDLE就自动安装好了,不需要另外去找。

1.2 Python环境

首先介绍Python环境是什么,在安装python的时候,其实也是在安装python的环境,环境包含:

  1. lib目录:包含标准库和需要安装的包(site-pakages);
  2. Scripts:放一些可执行文件;
  3. python.exe:解释器;

虚拟环境就是真实环境的一个副本,不止有一个,可以有多个,每个环境都有自己的名字,一般找个文件夹放起来。

虚拟环境和环境的区别是:标准库是非常多的,每次把标准库都复制会很多,虚拟环境没有标准库,还是引用原来实在的标准库,只有将要安装的第三方库;可执行文件统一放在了Scripts下面,原因是这两个exe如果在不同的目录下面,环境变量就得加两个。

在Pycharm中,可以有两种创建虚拟环境的方法:

  1. virtualenv 创建的虚拟环境
  2. conda 创建的虚拟环境

virtualenv 创建的虚拟环境相对较轻量,独立于具体包管理工具(如pip),Conda 本身就是一个包管理工具(也能创建和管理虚拟环境)。在创建虚拟环境时,virtualenv 复制现有的python解释器(需提前安装),而 Conda随环境下载和安装的指定版本python解释器,与系统中的全局解释器独立。

1.3 包管理工具

PyPI (Python Package Index )是python官方的第三方库的仓库 ,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用 pip **包管理器来下载第三方库。**conda也是一种包管理器,使用Conda install ***去下载第三方库。

conda channel 的配置

默认的conda channel是defaults,但这个channel的代码包不全。我的建议使用conda-forge channel,并设置严格优先使用conda-forge,因为这不同channel的包不完全兼容。我之前通过conda-forge channel安装geopandas时候,由于没有设置严格优先使用conda-forge,conda使用了defaults channel安装了libgdal(这是geopandas的依赖包之一),导致geopandas的安装一直不成功。

conda pip

conda是与语言无关的包管理器,具有严格的依赖检查,解决复杂依赖问题,全局只有一个conda包管理器:where conda。查看在base环境中conda脚本的所在位置,发现在Anaconda安装目录的主脚本文件下,查看在lstm虚拟环境中conda脚本的所在位置,发现同样的也在Anaconda安装目录的主脚本文件下。

在所有的虚拟环境中,使用的都是同一个 conda **命令,只是在安装包的过程中会自动选择安装的目的地。**而在执行创建虚拟环境,切换虚拟环境、激活虚拟环境等全局操作的时候,conda执行的是全局操作。

pip也可以安装包,但是只能按照python包,且依赖检查不严格,我们看一下在base环境中pip的位置,可以看见在Anaconda安装目录的主脚本文件下,在ltsm虚拟环境中查看pip的位置,它同时存在于主脚本文件夹和当前虚拟环境的脚本文件夹中。

不同的虚拟环境中执行 pip ,使用的脚本是不一样的,在base环境执行的pip是全局的,在其他虚拟环境中执行的是当前的pip.

在深度学习中,建议优先使用conda进行安装,因为conda对包依赖的管理更优秀,主要是深度学习网络搭建对包的依赖性很高,稍微版本不对就报错,而且conda卸载包的时候是连同依赖一起卸载的,pip卸载的时候需要手动选择指定包进行卸载,不能自动卸载依赖包,所以会带来许多冗余。conda的缺点是占据更多存储空间,且包更新速度较pip更慢。

无论使用pip还是conda下载软件安装包,都是局部的,只对当前虚拟环境有效。

1.4 conda 命令

(1)列出所有的环境:

复制代码
conda env list

(2)激活某个虚拟环境:

复制代码
conda activate 虚拟环境名
相关推荐
94621931zyn610 分钟前
关于应用 - Cordova 与 OpenHarmony 混合开发实战
笔记·python
知远同学5 小时前
Anaconda的安装使用(为python管理虚拟环境)
开发语言·python
做cv的小昊5 小时前
计算机图形学:【Games101】学习笔记05——着色(插值、高级纹理映射)与几何(基本表示方法)
笔记·opencv·学习·计算机视觉·图形渲染·几何学
车载测试工程师5 小时前
CAPL学习-CAN相关函数-统计API函数
网络·网络协议·学习·capl·canoe
Blossom.1185 小时前
AI编译器实战:从零手写算子融合与自动调度系统
人工智能·python·深度学习·机器学习·flask·transformer·tornado
热爱专研AI的学妹6 小时前
数眼搜索API与博查技术特性深度对比:实时性与数据完整性的核心差异
大数据·开发语言·数据库·人工智能·python
好奇龙猫6 小时前
【AI学习-comfyUI学习-第二十四节-open(contorlnet多重处理)+图生图openpose-各个部分学习】
人工智能·学习
Mr_Chenph6 小时前
Miniconda3在Windows11上和本地Python共生
开发语言·python·miniconda3
wanzhong23337 小时前
CUDA学习5-矩阵乘法(共享内存版)
深度学习·学习·算法·cuda·高性能计算
智航GIS8 小时前
5.1 if语句基础
开发语言·python