python进阶 — Python解释器

news2024/11/29 4:31:09

1、Python解释器

Python解释器是一个计算机程序,它将Python代码转换为计算机可以理解的机器代码,并执行这些机器代码。

1. 这篇文章介绍如何下载和安装Python解释器:

python基础(2)— 环境搭建

2 . 这篇文章介绍如何在pycharm中配置Python解释器:

Pycharm快速入门(5) — Python解释器和环境配置

2、Python 解释器中文件夹介绍

Python解释器下包含以下文件夹:

**Lib**:这是 Python 标准库的安装目录,包含了 Python 的标准模块和包。这些模块和包可以直接被 Python 解释器所使用。当您安装新的 Python 版本时,标准库也会随之更新。

**site-packages**:这个文件夹用于存放第三方库和扩展模块。当您使用 pip 或其他包管理工具安装新的库时,它们通常会被放置在这个目录下。如果您想手动安装库,也可以将库复制或解压到这个目录中。

**Scripts (Windows) / bin (Linux)**:这个文件夹包含了可执行脚本或二进制文件,例如在 Windows 平台下的 pip.exe、python.exe,在 Linux 平台下的 pip、python。这些脚本和二进制文件允许您从命令行运行 Python 程序和工具。

**Include**:在某些平台上,这个目录包含了用于 C/C++ 扩展模块的头文件。如果您想在 Python 中开发自己的 C/C++ 扩展模块,则需要在这个目录中包含头文件。

**tcl, tk**:这些目录包含了 Tkinter GUI 工具包需要的文件。Tkinter 是 Python 中一个标准的 GUI 工具包,允许您创建图形用户界面。

3、Lib文件夹

Python解释器中的Lib文件夹包含了Python标准库的全部内容。标准库是一个庞大而全面的库集合,为Python编程提供了各种各样的功能和工具。

Lib文件夹中包含了以下类型的文件:

  • .py文件:这些文件包含了Python源代码。
  • .pyc 文件:这些文件包含了Python字节码。字节码是Python源代码编译后的中间代码,可以直接被Python解释器执行。
  • __init__.py文件:这些文件是包的初始化文件。包是Python中的一种模块组织方式,可以将相关的模块组合在一起。
  • 其他文件:Lib文件夹中还包含了一些其他文件,例如README文件、LICENSE文件等。

以下是一些Lib文件夹中比较重要的模块:

  • os:操作系统接口模块,提供了与操作系统交互的函数,例如文件和目录操作、进程管理、环境变量访问等。
  • sys:系统相关模块,提供了有关Python解释器、Python版本、命令行参数等信息。
  • re:正则表达式模块,提供了正则表达式匹配和替换的函数。
  • math:数学模块,提供了数学相关的函数,例如三角函数、指数函数、对数函数等。
  • random:随机数模块,提供了生成随机数的函数。
  • datetime:日期和时间模块,提供了日期和时间处理的函数。
  • json:JSON数据处理模块,提供了将Python数据结构转换为JSON格式和从JSON格式解析出Python数据结构的函数。
  • requests:HTTP库,提供了发送HTTP请求和处理HTTP响应的函数。
  • numpy:科学计算库,提供了数值计算相关的函数和数据类型。
  • pandas:数据分析库,提供了数据清洗、转换、分析和建模的函数和数据结构。

4、site-packages 文件夹

`Lib` 文件夹中的`site-packages` 文件夹是 Python 中用于存储第三方包的默认位置。

当你在 Python 中安装一个第三方包时,该包的代码和数据文件将被安装到 `site-packages` 文件夹中。这样,Python 就可以在运行时找到和加载这些包。

你也可以将第三方包安装到其他位置,但通常不建议这样做。这是因为 `site-packages` 文件夹是 Python 默认的包搜索路径,因此将包安装到其他位置可能会导致 Python 无法找到和加载这些包。

`site-packages` 文件夹通常是 Python 包的安装目标,因为它具有以下优点:

  • 它位于 Python 安装目录中,因此它是 Python 可以轻松找到的位置。
  • 它是一个标准的位置,因此所有 Python 包都可以安装到同一个地方。
  • 它可以轻松地添加到 Python 的包搜索路径中。

如果你想了解有关 `site-packages` 文件夹或 Python 包管理的更多信息,你可以参考以下资源:

  • Python 包管理官方文档
  • pip 文档
  • virtualenv 文档

5、创建虚拟环境时有多个 `site-packages` 文件夹

当你创建虚拟环境时,`External Libraries` 文件夹中有多个 `site-packages` 文件夹的原因是,每个虚拟环境都有自己的隔离的 Python 环境。这意味着每个虚拟环境都有自己的 `site-packages` 文件夹,其中包含了该虚拟环境中安装的包。

这样做的目的是为了使虚拟环境相互独立,并防止它们相互干扰。例如,如果你在虚拟环境 A 中安装了一个包,那么这个包不会在虚拟环境 B 中可用。这可以帮助你避免包冲突和其他问题。

此外,创建虚拟环境时,`External Libraries` 文件夹中还会包含一个名为 `site-packages (global)` 的文件夹。这个文件夹包含了全局安装的包,即在系统范围内安装的包。这使你可以在虚拟环境中使用这些全局安装的包。

因此,当你创建虚拟环境时,`External Libraries` 文件夹中有多个 `site-packages` 文件夹是正常的。每个 `site-packages` 文件夹都包含了该虚拟环境中安装的包,而 `site-packages (global)` 文件夹包含了全局安装的包。

以下是一些创建虚拟环境时 `External Libraries` 文件夹中有多个 `site-packages` 文件夹的好处:

  • 隔离性:每个虚拟环境都有自己的 `site-packages` 文件夹,这使它们相互独立,并防止它们相互干扰。
  • 可移植性:你可以将虚拟环境复制到其他计算机上,而无需担心包冲突和其他问题。
  • 重复性: 你可以在不同的虚拟环境中安装相同的包,而不会影响其他虚拟环境。

如果你正在开发多个 Python 项目,或者你需要在不同的 Python 版本或不同的包管理器之间切换,那么使用虚拟环境是一个好主意。

例如下图:

新建项目funds-app-mock使用了虚拟环境,`External Libraries` 文件夹中有2个 `site-packages` 文件夹。

分别选中`site-packages` 文件夹,鼠标右键打开文件夹所在位置。

Python解释器初始的依赖包;

虚拟环境的依赖包:

 

 

 


reference:

Python Packaging User Guide

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1341217.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三年Java开发的技术职业规划

开篇 时间如白驹过隙般,不知不觉又到了一年的结尾。回头展望,已经从业Java开发三年。这三年内酸甜苦辣也都领会过,整体这一年,一句话评价的话,那就是也无风雨也无晴。 不管怎样,疫情三年后的第一个年&…

案例253:基于微信小程序的懂球短视频管理系统

文末获取源码 开发语言:Java 框架:SpringBoot JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder …

DDR3通信协议介绍篇

一.DDR3简介 DDR核心技术点就在于:(1)双沿传输。(2)预取prefetch. DDR的频率:(1)核心频率 (2)时钟频率 (3)数据传输频率;核心频率就是内存的工作频率;DDR1内存的核心频率是和时钟频率相同的,到了DDR2和DDR3时才有了时…

【kubernetes】集群网络(一):基础篇

Flannel 1 路由表 & arp & fdb 1.1 路由表 任何网络设备都需要路由表,路由表用来决定,当收到数据包时,该向哪里进行转发。路由表项通常会包含以下几个字段: Destination:目的地Gateway:网关Mas…

GA/T1400公安视图库在视频监控系统中对接及方案

公安视频图像信息应用系统系列标准,标号为GA/T 1400,现行版本为2017年版,由公安部发布。现较广泛地使用于平安城市安防监控系统、智慧城市安防监控系统、雪亮工程安防监控系统之中。 公安视频图像信息应用系统系列标准,共分为4个部…

QLabelQPushButton和QLineEdit

QLabel 设置文件格式字体颜色背景 源码 设置图片 源码 设置gif 设置文本 源码 富文本 (Rich Text): 格式化选项:富文本支持各种格式化选项,如字体样式(粗体、斜体)、字体大小、颜色、超链接、图片插入、列表、表格等。文件格式&a…

八种常见顺序存储的算法

目录 1、线性枚举 1)问题描述 2)动图演示 3)示例说明 4)算法描述 5)源码详解 2、前缀和差分 1)问题描述 2)动图演示 3)样例分析 4)算法描述 5)源码…

抖音、小红书、视频号是如何判定是否限流的?

在这个新媒体营销的时代,抖音、小红书和视频号作为中国最受欢迎的社交媒体平台,为品牌和内容创作者提供了极具潜力的展示空间。然而,无论在哪个平台,限流成为很多人的苦恼。 抖音的推荐算法基于人群画像和初始流量池,同…

单挑力扣(LeetCode)SQL题:1951. 查询具有最多共同关注者的所有两两结对组(难度:中等)

题目:1951. 查询具有最多共同关注者的所有两两结对组 (通过次数2,464 | 提交次数3,656,通过率67.40%) 表: Relations ------------------- | Column Name | Type | ------------------- | user_id | int | | follower_id |…

ctfshow——文件上传

文章目录 文件上传思路web 151web 152web 153知识点解题 web 154web 155web 156web 157web 158web 159 文件上传思路 web 151 打开页面显示:前台校验不可靠。说明这题是前端验证。 右键查看源代码,找到与上传点有关的前端代码:   这里使…

磁盘相关知识

一、硬盘数据结构 1.扇区: 盘片被分为多个扇形区域,每个扇区存放512字节的数据(扇区越多容量越大) 存放数据的最小单位 512字节 (硬盘最小的存储单位是扇区,512 个字节,八个扇区组成一块&…

VirtualBox 网络连接配置

这几天为了确认笔记本电脑的ssd磁盘型号,拆开电脑查看了一下,并且拔出来又装回去了,就是这个插拔的动作,导致原本能好好运行的虚拟机,突然启动报错启动不起来了。看了启动日志,显示启动的时候磁盘数据校验出…

leaflet学习笔记-地图缩略图(鹰眼)的添加(三)

介绍 地图缩略图控件有助于用户了解主窗口显示的地图区域在全球、全国、全省、全市等范围内的相对位置,也称为鹰眼图。Leaflet提供了好几种地图缩略图控件,本文介绍其中一个最常用控件,即插件Leaflet.MiniMap。 依赖添加 这些地图控件都可以…

Zblog主题模板:ZblogitseanPage博客主题模板

zblog主题模板:ZblogitseanPage博客主题模板 ZblogitseanPage博客主题模板主要是以文字内容为主导,将页面的设计杂乱的图片和元素进行最小化或者去除,从而使整个页面更加简洁、清晰,突出信息的呈现。 下面介绍一下zblog主题模板:Z…

数据库系统原理例题之——SQL 与关系数据库基本操作

SQL 与关系数据库基本操作 第四章 SQL 与关系数据库基本操作【例题】一 、单选题二 、填空题三 、简答题四 、设计题 【答案&解析】一、单选题二、填空题三、简答题四、设计题 【延伸知识点】【延伸知识点答案&解析】 第四章 SQL 与关系数据库基本操作 【例题】 一 、…

Redis哨兵sentinel

是什么? 哨兵巡查监控后台master主机是否故障,如果故障根据投票数自动将某一个slave库变为master,就行对外服务,称为无人值守运维 能干嘛? 主从监控:监控主从redis库是否正常工作 消息通知:…

作业--day38

1.定义一个Person类,包含私有成员,int *age,string &name,一个Stu类,包含私有成员double *score,Person p1,写出Person类和Stu类的特殊成员函数,并写一个Stu的show函数&#xff…

取证工具volatility插件版学习记录

更新时间:2023年12月18日11:48:29 1. 背景描述 在以前学习过volatility的基础功能,主要是使用volatility独立版进行学习的,前几天遇到一个ctf赛事,需要用到的是volatility的mimikatz模块,因为以前没使用过那个模块&…

Type-C接口显示器PD协议芯片方案-LDR6020

大家都知道显示器种类有很多种,有桌面显示器,便携显示器,智能显示器,甚至AR眼镜也可以算是一个微型显示器,传输信号的方式也很多种,如HDMI、VGA、DisplayPort、USB-C等等。现在较为统一更新的那就是欧盟规定…

vue实现滑动切换:切换选项时滑块有滑动过渡的效果

效果图 思路: 1. 高亮的色块是独立的一个盒子,需要插入当前激活的内容用来撑开色块盒子的宽度,这样色块的宽度就会和当前激活的内容宽度一致,色块的字体颜色设置透明即可 2. 色块滑动的距离是读当前激活元素的offsetLeft&#x…