Poerty进行Python依赖管理和打包工具

Poerty

介绍

Poetry是在Python中用来管理依赖和打包用途的工具。它允许声明项目中的依赖,会帮你进行管理(安装/升级)。

系统依赖

需要在 Python 2.7或者3.4+版本中使用。支持多平台,旨在Windows,Linux和OSX相同工作。

安装

curl  -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3

注意:要在shell环境中生效需要执行source $HOME/.poetry/env

Bash自动补全

$ poetry completions bash > poetry.bash-completion
$ sudo mv poetry.bash-completion  /etc/bash_completion.d/

基本用例

为了演示基本用例,我们将使用pendulum,它是一个datetime库。

项目配置

首先,我们创建一个称为poetry-demo的新项目

$ poetry new poetry-demo

该命令会为我们构建一个peotry-demo目录,含有如下文件结构。

├── poetry_demo
│?? └── __init__.py
├── pyproject.toml
├── README.rst
└── tests
    ├── __init__.py
    └── test_poetry_demo.py

最重要的文件是pyproject.toml,它将未你管理项目以及它们的依赖。当前,它内容类似如下:

[tool.poetry]
name = "poetry-demo"
version = "0.1.0"
description = ""
authors = ["Your Name <[email protected]>"]

[tool.poetry.dependencies]
python = "^2.7"

[tool.poetry.dev-dependencies]
pytest = "^4.6"

[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"

定义依赖

如果你想在项目中加入依赖,可以在tool.poetry.dependencies区域指定。

[tool.poetry.dependencies]
pendulum = "^1.4"

除了手动修改pyproject.toml文件,你也可以使用add命令。

$ poetry add pendulum

安装依赖

要安装项目中定义的依赖,只需要执行install命令

$ poetry install

制作库

本节将描述如何使用Poetry创建可安装库。

打包

peotry build

提交到PyPI

poetry publish

原文地址:https://www.cnblogs.com/erhuabushuo/p/12142082.html

时间: 2024-12-21 11:26:24

Poerty进行Python依赖管理和打包工具的相关文章

React开发和模块管理的主流工具——Webpack

webpack 前端模块管理和打包工具 原址:http://www.infoq.com/cn/articles/react-and-webpack CommonJS和AMD是用于JavaScript模块管理的两大规范,前者定义的是模块的同步加载,主要用于NodeJS:而后者则是异步加载,通过requirejs等工具适用于前端.随着npm成为主流的JavaScript组件发布平台,越来越多的前端项目也依赖于npm上的项目,或者自身就会发布到npm平台.因此,让前端项目更方便的使用npm上的资源成为

Webpack打包工具学习使用

Webpack 是当下最热门的前端资源模块化管理和打包工具.它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源.还可以将按需加载的模块进行代码分隔,等到实际需要的时候再异步加载.通过 loader 的转换,任何形式的资源都可以视作模块,比如 CommonJs 模块. AMD 模块. ES6 模块.CSS.图片. JSON. Coffeescript. LESS 等. 一.核心概念 入口:webpack打包的入口文件 输出:这个就是对源代码打包之后,得到的文件,文件我们一般命名为

好用的打包工具webpack

<什么是webpack> webpack是一个模块打包器,任何静态资源(js.css.图片等)都可以视作模块,然后模块之间也可以相互依赖,通过webpack对模块进行处理后,可以打包成我们想要的静态资源. gulp的打包是将js.css.图片等分开打包的,但是webpack是将所有的静态资源打包到一起,因此一个请求就可以了. <webpack的特点> ·支持CommonJs(require的写法)和AMD模块,也就是说基本可以无痛迁移旧项目 ·支持模块加载器和插件机制,可对模块灵活

[转载]Python 包管理工具解惑

原文链接:http://zengrong.net/post/2169.htm Python 包管理工具解惑 python packaging 一.困惑 作为一个 Python 初学者,我在包管理上感到相当疑惑(嗯,是困惑).主要表现在下面几个方面: 这几个包管理工具有什么不同? distutils setuptools distribute disutils2 distlib pip 什么时候该用pip,什么时候该用 setup.py ,它们有关系么? easy_install.ez_setup

Composer : php依赖管理工具

原始时代 我记得在当时用php的时候还没有composer,只有个pear,但是不好用呀,还不如直接在互联网上到处复制代码了,更快更不容易出错,当时也没有github这么好的社区工具了 总结如下 代码混乱 规范不统一 没有后续统一更新等管理 Composer侠应运而生 composer直到如今 已有5个年头了,也是直到今年才有了第一个稳定版本1.0,以前都是alpha版本了,其实composer的发展 也和 PHP-FIG (后续会专门解释的)的发展有很大关系 composer是php新时代的依

[转]Python打包工具

作者:Tarek Ziadé,翻译:张吉 原文:http://www.aosabook.org/en/packaging.html 转载地址:http://www.ituring.com.cn/article/19090 14.1 简介 对于如何安装软件,目前有两种思想流派.第一种是说软件应该自给自足,不依赖于其它任何部件,这点在Windows和Mac OS X系统中很流行.这种方式简化了软件的管理:每个软件都有自己独立的“领域”,安装和卸载它们不会对操作系统产生影响.如果软件依赖一项不常见的类

Python包管理工具Distribute的安装

Python包管理工具Distribute的安装 Python的包管理工具常见的有easy_install, setuptools, 还有pip, distribute,那麽这几个工具有什么关系呢,看一下下面这个图就明白了: 可以看到distribute是setuptools的替代方案,pip是easy_install的替代方案. Distribute提供一个安装python模块的框架.你系统的每一个python解释器都需要它自己的Distribute.你可以自己找到最新版本的Distribut

Python 包管理工具解惑

Python 包管理工具解惑 本文链接:http://zengrong.net/post/2169.htm python packaging 一.困惑 作为一个 Python 初学者,我在包管理上感到相当疑惑(嗯,是困惑).主要表现在下面几个方面: 这几个包管理工具有什么不同? distutils setuptools distribute disutils2 distlib pip 什么时候该用pip,什么时候该用 setup.py ,它们有关系么? easy_install.ez_setup

python打包工具distutils、setuptools分析

在上一篇博文中总结了python中导入包,安装包一条完整的线路.其中有一个有意思的知识点,安装包的方式有很多种,模块和包管理中打包,发布,安装也是值得研究的内容. python中安装包的方式有很多种: 源码包:python setup.py install 在线安装:pip install 包名(linux) / easy_install 包名(window) python包在开发中十分常见,一般的使用套路是所有的功能做一个python模块包,打包模块,然后发布,安装使用.打包和安装包就是最常见