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

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

虚拟现实(Virtual Reality,简称VR)技术是一种能够模拟和创造与真实世界相似的虚拟环境的计算机技术,近年来在娱乐、教育、医疗和工业等领域得到了广泛的应用。本文将探讨虚拟现实技术的应用原理,以及其工作流程和相...

关键字: 虚拟现实 虚拟环境 传感技术

随着大数据的兴起,Python 和机器学习迅速成为时代的宠儿。本书在内容编排上避免了枯燥的理论知识讲解,依循“理论简述——实际数据集——Python 程序实现算法”分析数据的思路。

关键字: python 机器学习 数据集

Python拥有很多免费数据函数库、免费web网页模板系统、以及与web服务器进行交互的库,可以实现web开发,搭建web框架,目前比较有名气的Python web框架为Django。

关键字: python 函数库 免费web网页

那么用户下载到的就是该系统的所有源代码,并且可以随意修改。这也是解释型语言本身的特性,想要运行程序就必须有源代码。

关键字: python 源代码 C/C++程序

Python有丰富的第三方库和包,可以扩展Python的功能。为了方便地管理这些包,您需要安装一个Python包管理工具,例如pip、conda等。这些工具可以帮助您安装、升级和删除Python包,使您能够轻松地管理Py...

关键字: python 编程实例 Python解释器

Python是一种非常流行的编程语言,它简单易学,功能强大,可以应用于许多领域,如Web开发、数据分析、人工智能等。本篇文章将为您介绍如何从零开始学习Python!

关键字: python 入门基础 数据分析

Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。

关键字: python 函数 对象编程

Python和Java是两种广泛应用于编程领域的高级编程语言,它们各有优劣。本文从程序设计应用、系统资源占用、高性能处理和语言特点等四方面详细介绍两种编程语言的区别。

关键字: python java 高性能处理

今天在Github上瞎逛的时候,发现了一个有趣的小项目,但是由于一些特殊的原因,犹豫了一下要不要推荐给大家。

关键字: python 开源
关闭