python进阶 — Python解释器

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.mfbz.cn/a/273643.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

果然,大厂都在卷这个!

大家好,我是鱼皮。首先祝大家平安夜快乐!给大家看看我们搞的小圣诞树哈哈~ 言归正传,这周中我去北京待了 2 天,主要是收到百度的邀请去参加百度云的智算大会,听说有些 AI 产品要发布。 我自己是非常关注国内…

C#教程(四):多态

1、介绍 1.1 什么是多态 在C#中,多态性(Polymorphism)是面向对象编程中的一个重要概念,它允许不同类的对象对同一消息做出响应,即同一个方法可以在不同的对象上产生不同的行为。C#中的多态性可以通过以下几种方式实现…

每日一题-----逆序字符串

大家好我是Beilef,在一个美好的下午我意外接触到编程并且产生了兴趣,哈哈我要努力成为一个跨界者,让我们一起加油吧O(∩_∩)O 文章目录 目录 文章目录 前言 大家好请上车 一、逆序字符串 题⽬描述: 输⼊⼀个字符串,写…

UiPath报告 | 2024年7大自动化和Al趋势

在自动化与人工智能的合力推动下,全球企业正在步入一个创造价值的新纪元。 预计市场将涌现出一系列高潜力的AI应用实例; 企业的日常运营和复杂流程管理方式将面临根本性的变革,人工智能的崛起正加速企业自动化进程,促成价值的快速…

【WPF】使用Behavior以及ValidationRule实现表单校验

文章目录 使用ValidationRule实现检测用户输入EmptyValidationRule 非空校验TextBox设置非空校验TextBox设置非空校验并显示校验提示 结语 使用ValidationRule实现检测用户输入 EmptyValidationRule是TextBox内容是否为空校验,TextBox的Binding属性设置ValidationRu…

Centos7:Jenkins+gitlab+node项目启动(1)

安装Jenkins 虚拟机配置 需要的软件 https://download.csdn.net/download/myy2012/88668255 解压到目录 用xftp 上传 开始安装jdk rmp -ivh jdk-8u181-linux-x64.rpm 开始安装jenkins rmp -ivh jenkins-2.99-1.1.noarch.rpm 修改用户与端口(端口按需修改) vim /etc/sy…

Matlab之State Flow

打开方式 方式一:在命令窗口输入State Flow或者简写sf就能打开,并且会自动打开State Flow 的Library。从左到右分别是图表、真值表、状态转换表、例子、顺序查看,可以加入到Simulink当中。 方式二:从Simulink Library里面添加Sta…

Xshell 从github克隆项目:使用ssh方式。

接上文: https://blog.csdn.net/liu834189447/article/details/135247868 是能克隆项目了,但是速度太磕碜了,磕碜到难以直视。 找到另外一种办法,使用SSH克隆项目 速度嘎嘎猛。 首先得能进得去github网站,不能点上边…

Pikachu靶场 “Http Header”SQL注入

1. 先在 pikachu 打开 Http Header 注入模块,点击提示 查看登录 账号 和 密码,登陆后去 Burp 中找到登陆的 GET请求 2. 设置payload1 :在 User-Agent最后 输入 查看 数据库名 or updatexml(1,concat(0x7e,database()),0) or 查看 用户名…

File Inclusion(Pikachu)

File Inclusion(local) 这里随便点击一个提交 观察url,显示是一个文件file1.php 可以直接通过url修改这个文件 找到自己的文件(本地文件)shell.php的路径写上去 就可以看到 File Inclusion(remote) 提交的是一个目标…

uni-app和Vue.js有什么区别?

Hello,大家好,我是咕噜铁蛋!在当今的前端开发领域,uni-app和Vue.js都是非常热门的技术。很多开发者经常在选择时感到困惑。今天铁蛋这篇文章讲和大家探讨这两者的区别,帮助各位在开发路上做出明智的选择。 1. uni-app是…

Java日期工具类时间校验

Java日期工具类时间校验 嘚吧嘚正则表达式版本一版本二版本三 SimpleDateFormat工具类 嘚吧嘚 时间校验这个问题,我在网上找了很多资料,有用正则表达式的、有用格式工具类的。🤨 其实都能实现时间校验,既然两种方式都能实现&…

【Java基础系列】equals方法使用与总结

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Python模拟动态星空

前言 今天,我们来用Python做个星空。 一、模拟星空 1,.首先导入所需要的库: from turtle import * from random import random, randint 2.初始画面: screen Screen() width, height 800, 600 screen.setup(width, height) screen.tit…

Kubernetes (四) 资源清单及yaml文件详解

一. 资源清单 二. 编写yaml文件及内容详解 常用命令 …

canvas随机绘制100个五角星

canvas实例应用100 专栏提供canvas的基础知识,高级动画,相关应用扩展等信息。 canvas作为html的一部分,是图像图标地图可视化的一个重要的基础,学好了canvas,在其他的一些应用上将会起到非常重要的帮助。 文章目录 示例…

【新资讯】《网络安全事件报告管理办法(征求意见稿)》正在公开征求意见

近年来网络安全事故频发,造成了不少损失和危害。为了减少网络安全事故的发生,规范网络安全事件的报告,国家互联网信息办公室根据《中华人民共和国网络安全法》等法律法规起草了《网络安全事件报告管理办法(征求意见稿)…

混合专家模型 (MoE) 详解

随着 Mixtral 8x7B (announcement, model card) 的推出,一种称为混合专家模型 (Mixed Expert Models,简称 MoEs) 的 Transformer 模型在开源人工智能社区引起了广泛关注。在本篇博文中,我们将深入探讨 MoEs 的核心组件、训练方法,…

智慧停车场:AI智能烟火识别算法在停车场的运用

随着新能源汽车的普及,智慧停车场也越来越多,但由于一些停车场并未进行充电桩改造升级,很多车主私拉电线,大大增加了消防安全隐患。如何保障停车场消防安全,保护居民财产安全? 一、方案概述 TSINGSEE青犀…

Web 3.0 是什么

第 1 章 明晰Web 3.0 从本章开始,就进入了本书的第一篇章,入门Web3.0,在第一篇章中将会让读者对Web3.0有一个整体的认知,为学习后面的章节打下基础。 在本章中,主要介绍的是Web的发展历史,包涵Web1.0、Web2.0、Web3.0的发展过程,以及资本为什么需要入场Web3.0、Web3.0…
最新文章