当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]Pipenv是一款旨在将所有包管理工具的优点集中利用于python领域中的工具,兼容性高,使用Pipenv可以自动创建项目和管理虚拟环境,且安装或删除包时会自动在Pipfile中添加和移除相应的包。

常见的python管理工具有以下几种

1.Pipenv

Pipenv是一款旨在将所有包管理工具的优点集中利用于python领域中的工具,兼容性高,使用Pipenv可以自动创建项目和管理虚拟环境,且安装或删除包时会自动在Pipfile中添加和移除相应的包。

2.PIP

PIP是一个通用的python包管理工具,PIP提供了对python包的查找、下载、安装、卸载等功能。

3.Distutils

Distutils是python标准库的一部份,其为开发者提供一种方便的打包方式,为使用者提供方便的安装方式。

除了pip之外,Python还有其他一些包管理工具。以下是其中一些常用的包管理工具:

Anaconda: Anaconda是一个流行的Python数据科学平台,其中包括Conda包管理器,它可以用于安装和管理Python包、环境和依赖项。与pip不同,Conda还可以管理非Python依赖项,并且可以创建和管理虚拟环境。

easy_install: easy_install是Python的另一个包管理工具,它可以从PyPI(Python包索引)中安装Python包,但功能相对较弱,目前已经逐渐被pip所取代。

Poetry: Poetry是一个相对较新的包管理工具,旨在解决pip的一些限制和缺点。它可以创建、管理和发布Python包,并管理依赖项和虚拟环境。

PEP 517/518: PEP 517和PEP 518是Python的两个官方规范,它们定义了一种新的方式来构建、打包和分发Python包。它们不是包管理工具,而是提供了一种标准的方法,使得其他包管理工具可以更轻松地与Python包集成。

虽然pip是Python中最流行和常用的包管理工具,但是根据不同的需求和场景,其他包管理工具也可能更适合您的需求。

Python 历时这么久以来至今还未有一个事实上标准的项目管理及构建工具,以至于造成 Python 项目的结构与构建方式五花八门。这或许是体现了 Python 的自由意志。

不像 Java 在经历了最初的手工构建,到半自动化的 Ant, 再到 Maven 基本就是事实上的标准了。其间 Maven 还接受了其他的 Gradle(Android 项目主推), SBT(主要是 Scala 项目), Ant+Ivy, Buildr 等的挑战,但都很难撼动 Maven 的江湖地位,而且其他的差不多遵循了 Maven 的目录布局。

回到 Python,产生过 pip, pipenv, conda 那样的包管理工具,但对项目的目录布局没有任何约定。

关于构建很多还是延续了传统的 Makefile 的方式,再就是加上 setup.py 和 build.py 用程序代码来进行安装与构建。关于项目目录布局,有做成项目模板的,然后做成工具来应用项目模板。

下面大概浏览一下四个工具的使用

CookieCutter

PyScaffold

PyBuilder

Poetry

CookieCutter 一个经典的 Python 项目目录结构

$ pip install cookiecutter

$ cookiecutter gh:audreyr/cookiecutter-pypackage

# 以 github 上的 audreyr/cookiecutter-pypackage 为模板,再回答一堆的问题生成一个 Python 项目

......

project_name [Python Boilerplate]: sample

......

最后由 cookiecutter 生成的项目模板是下面的样子:

$ tree sample

sample

├── AUTHORS.rst

├── CONTRIBUTING.rst

├── HISTORY.rst

├── LICENSE

├── MANIFEST.in

├── Makefile

├── README.rst

├── docs

│ ├── Makefile

│ ├── authors.rst

│ ├── conf.py

│ ├── contributing.rst

│ ├── history.rst

│ ├── index.rst

│ ├── installation.rst

│ ├── make.bat

│ ├── readme.rst

│ └── usage.rst

├── requirements_dev.txt

├── sample

│ ├── __init__.py

│ ├── cli.py

│ └── sample.py

├── setup.cfg

├── setup.py

├── tests

│ ├── __init__.py

│ └── test_sample.py

└── tox.ini

3 directories, 26 files

这大概是当前比较流行的目录结构的主体框架,主要元素是:

$ tree sample

sample

├── Makefile

├── README.rst

├── docs

│ └── index.rst

├── requirements.txt

├── sample

│ ├── __init__.py

│ └── sample.py

├── setup.cfg

├── setup.py

└── tests

├── __init__.py

└── test_sample.py

项目 sample 目录中重复 sample 目录中放置 Python 源文件,tests 目录中是测试文件,再加一个 docs 目录放文档,README.rst, 其他的用于构建的 setup, setup.cfg 和 Makefile 文件。

ython可以进行Web应用开发、数据分析与挖掘、AI应用程序设计开发、网络爬虫应用编写、嵌入式应用开发、网络安全应用开发、桌面应用开发、自动化运维设计、游戏开发等。下面,详细介绍Python可以做什么。

Python是什么?

Python是一门编程语言。20世纪80年代,“仁慈的独裁者”荷兰人Guido van Rossum创造出这门语言。作为一门高级程序设计语言,Python凭借其简洁、易读及可扩展性日渐成为备受程序设计开发者推崇的语言。

截止目前,这门编程语言已跃居世界编程榜第一名。如下图:

本质上来讲,Python是一门具备动态语义、面向对象的解释型高级编程语言。早期,由于自身特性,Python经常作为脚本语言和“粘合剂”语言来使用。但随其版本的不断更新,这款语言逐渐被用来开发一些大型应用。

总体来讲,Python在开发应用程序中,相比其它编程语言,有如下特点:

简单易学,适合大多数人学习,不限于学生

跨平台,可移植性强,Window、Linux、Mac、Android等系统均可开发

面向对象,完整意义上的高级语言特性

解释性语言,不用担心“内存泄漏”

胶水语言,可作为其它语言的粘合剂

开源,这也是其发展迅速的主要原因

第三方模块多,不用重复制造“轮子”

基于上述特点,Python逐渐成为很多领域首选编程语言。当前,随着AI技术和5G的普遍应用,几乎各行各业都在使用Python开发应用,使得Python应用领域更加广泛。

Web应用开发

如果你对网站前端设计比较在行,你可以在极短的时间内搭建一个自己喜欢的网站。当然,前提是要熟练掌握一种Web应用框架。典型的Web应用开发框架有Django、Flask、Pyramid,可以选择自己感兴趣的学习,这里首推Django,随着这些框架的不断更新,使得Python开发网络应用程序变得简单、高效。

声明:该篇文章为本站原创,未经授权不予转载,侵权必究。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭