深度学习(一)——基础知识: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 虚拟环境名
相关推荐
许小禾上学记5 小时前
学习笔记 | 图论基础
笔记·学习·图论
爱学习的爬虫5 小时前
Python实现Jenkins实现自动化执行Job
python·自动化·jenkins
胡萝卜3.05 小时前
深入理解栈与队列:核心特性与实战应用
c++·学习·queue·stack·stack和queue的使用
一晌小贪欢6 小时前
Python爬虫第9课:验证码识别与自动化处理
爬虫·python·自动化·网络爬虫·python爬虫·python3
bin91536 小时前
AI工具赋能Python开发者:项目开发中的创意守护与效率革命
开发语言·人工智能·python·工具·ai工具
被放养的研究生6 小时前
Python常用的一些语句
开发语言·python
Run Freely9376 小时前
Python_封装案例
python
程序员爱钓鱼7 小时前
Python编程实战 · 基础入门篇 | 条件判断 if...else
后端·python
程序员爱钓鱼7 小时前
Python编程实战 · 基础入门篇 | 循环语句 for / while
后端·python