python管理工具有哪些?
扫描二维码
随时随地手机看文章
常见的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开发网络应用程序变得简单、高效。