当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]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开发网络应用程序变得简单、高效。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭