大家都知道Python库很强大,却不知道还有强大工具包 poetry?
前言
Python有很多很强大的库,因此而闻名天下,却不知道还有不少的工具包,今天为大家一款包管理和打包的工具poetry
在Python中,对于初学者来说,打包系统和依赖管理是非常复杂和难懂的。即使对于经验丰富的开发者,一个项目总是要同时创建多个文件: setup.py ,requirements.txt,setup.cfg , MANIFEST.in ,还有最新的 Pipfile。
基于此, poetry 将所有的配置都放置在一个 toml 文件中,这些配置包括:依赖管理、构建、打包、发布。
poetry 的灵感来自于其他语言的一些工具: composer(PHP) 和 cargo (Rust) 。
配置
poetry 的项目配置文件是 pyproject.toml ,一个简单的示例文件如下:
[tool.poetry] name = "poetry" version = "0.11.5" description = "Python dependency management and packaging made easy." authors = [ "Sébastien Eustace <sebastien@eustace.io>" ] license = "MIT" readme = "README.md" homepage = "https://poetry.eustace.io/" repository = "https://github.com/sdispater/poet" documentation = "https://poetry.eustace.io/docs" keywords = ["packaging", "dependency", "poetry"] classifiers = [ "Topic :: Software Development :: Build Tools", "Topic :: Software Development :: Libraries :: Python Modules" ] # Requirements [tool.poetry.dependencies] python = "~2.7 || ^3.4" cleo = "^0.6.7" requests = "^2.18" cachy = "^0.2" requests-toolbelt = "^0.8.0" jsonschema = "^2.6" pyrsistent = "^0.14.2" pyparsing = "^2.2" cachecontrol = { version = "^0.12.4", extras = ["filecache"] } pkginfo = "^1.4" html5lib = "^1.0" shellingham = "^1.1" tomlkit = "^0.4.4" # The typing module is not in the stdlib in Python 2.7 and 3.4 typing = { version = "^3.6", python = "~2.7 || ~3.4" } # Use pathlib2 for Python 2.7 and 3.4 pathlib2 = { version = "^2.3", python = "~2.7 || ~3.4" } # Use virtualenv for Python 2.7 since venv does not exist virtualenv = { version = "^16.0", python = "~2.7" } [tool.poetry.dev-dependencies] pytest = "^3.4" pytest-cov = "^2.5" mkdocs = "^1.0" pymdown-extensions = "^4.9" pygments = "^2.2" pytest-mock = "^1.9" pygments-github-lexers = "^0.0.5" black = { version = "^18.3-alpha.0", python = "^3.6" } pre-commit = "^1.10" tox = "^3.0" [tool.poetry.scripts] poetry = "poetry.console:main"
命令
poetry 提供了一系列覆盖整个开发流程的命令,这些命令使用简单:
poetry 命令
名称 功能
new 创建一个项目脚手架,包含基本结构、pyproject.toml 文件
init 基于已有的项目代码创建 pyproject.toml 文件,支持交互式填写
install 安装依赖库
update 更新依赖库
add 添加依赖库
remove 移除依赖库
show 查看具体依赖库信息,支持显示树形依赖链
build 构建 tar.gz 或 wheel 包
publish 发布到 PyPI
run 运行脚本和代码
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
想知道Python中的那个库用于生成命令行界面的内容?Python Fire?
前言 Python之所以强大,是因为它拥有各种各样的库,今天为大家介绍一款酷酷的库,Python Fire 是 Google 开源的一个可从任何 Python 代码自动生成命令行接口(CLI)的库。 Python Fire 是一种在 Python 中创建 CLI 的简单方法。 Python Fire 是开发和调试 Python 代码的有用工具。 Python Fire 帮助探索现有代码或将其他人的代码转换为CLI。 Python Fire 使 Bash 和 Python 之间的转换更为容易。 Python Fire 通过使用你需要导入和创建的模块和变量来设置 REPL,使得使用 Python REPL 更容易。 简易示例: import fire class Calculator(object): """A simple calculator class.""" def double(self, number): return 2 * number if __name__ == '__main__': fire.Fire(Calculator) 然后,你可以运行: python cal...
- 下一篇
QDS03 pip
QDS (Quick Deployment Series)快速的部署一个软件。这次我们来部署 pip 。 pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。pip 官网:https://pypi.org/project/pip/ 安装 首先下载安装脚本 get-pip.py , 大约 1.7 MiB 。 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 安装 python2 的 pip 执行下列命令 python get-pip.py 安装 python3 的 pip 执行下列命令 python3 get-pip.py 验证 [root@node31 ~]# pip --version pip 19.0.3 from /usr/lib/python2.7/site-packages/pip (python 2.7) [root@node31 ~]# 欢迎访问网站 https://erdong.site 来获取更多内容。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7