zoukankan      html  css  js  c++  java
  • poetry

    poetry -- pipenv加强版本

    https://python-poetry.org/

    I built Poetry because I wanted a single tool to manage my Python projects from start to finish. I wanted something reliable and intuitive that the community could use and enjoy.

    Sébastien Eustace

    https://pypi.org/project/poetry/

    Why?

    Packaging systems and dependency management in Python are rather convoluted and hard to understand for newcomers. Even for seasoned developers it might be cumbersome at times to create all files needed in a Python project: setup.py, requirements.txt, setup.cfg, MANIFEST.in and the newly added Pipfile.

    So I wanted a tool that would limit everything to a single configuration file to do: dependency management, packaging and publishing.

    It takes inspiration in tools that exist in other languages, like composer (PHP) or cargo (Rust).

    And, finally, there is no reliable tool to properly resolve dependencies in Python, so I started poetry to bring an exhaustive dependency resolver to the Python community.

    Introduction

    Introduction

    poetry is a tool to handle dependency installation as well as building and packaging of Python packages. It only needs one file to do all of that: the new, standardized pyproject.toml.

    In other words, poetry uses pyproject.toml to replace setup.py, requirements.txt, setup.cfg, MANIFEST.in and the newly added Pipfile.

    [tool.poetry]
    name = "my-package"
    version = "0.1.0"
    description = "The description of the package"
    
    license = "MIT"
    
    authors = [
        "Sébastien Eustace <sebastien@eustace.io>"
    ]
    
    readme = 'README.md'  # Markdown files are supported
    
    repository = "https://github.com/python-poetry/poetry"
    homepage = "https://github.com/python-poetry/poetry"
    
    keywords = ['packaging', 'poetry']
    
    [tool.poetry.dependencies]
    python = "~2.7 || ^3.2"  # Compatible python versions must be declared here
    toml = "^0.9"
    # Dependencies with extras
    requests = { version = "^2.13", extras = [ "security" ] }
    # Python specific dependencies with prereleases allowed
    pathlib2 = { version = "^2.2", python = "~2.7", allow-prereleases = true }
    # Git dependencies
    cleo = { git = "https://github.com/sdispater/cleo.git", branch = "master" }
    
    # Optional dependencies (extras)
    pendulum = { version = "^1.4", optional = true }
    
    [tool.poetry.dev-dependencies]
    pytest = "^3.0"
    pytest-cov = "^2.4"
    
    [tool.poetry.scripts]
    my-script = 'my_package:main'
    

    Poetry helps you declare, manage and install dependencies of Python projects, ensuring you have the right stack everywhere.

    Poetry Install

    https://www.cnblogs.com/zepc007/p/12054815.html

    是一个Python虚拟环境和依赖管理工具,另外它还提供了包管理功能,比如打包和发布。
    可以用来管理python库和python程序。

    https://python-poetry.org/docs/basic-usage/

    demo

    https://replit.com/@fanqingsong/boilerplate-rock-paper-scissors#pyproject.toml

    [tool.poetry]
    name = "repl_python3_boilerplate-rock-paper-scissors"
    version = "0.1.0"
    description = ""
    authors = ["fanqingsong <<>>"]

    [tool.poetry.dependencies]
    python = "^3.8"
    mchmm = "^0.4.1"

    [tool.poetry.dev-dependencies]

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

    此文件存在, 则 poetry install安装此文件中指定版本。

    否则,使用 poetry update 更新版本。

    https://replit.com/@fanqingsong/boilerplate-rock-paper-scissors#poetry.lock

    [[package]]
    category = "main"
    description = "Simple Python interface for Graphviz"
    name = "graphviz"
    optional = false
    python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*"
    version = "0.16"

    [package.extras]
    dev = ["tox (>=3)", "flake8", "pep8-naming", "wheel", "twine"]
    docs = ["sphinx (>=1.8)", "sphinx-rtd-theme"]
    test = ["mock (>=3)", "pytest (>=4)", "pytest-mock (>=2)", "pytest-cov"]

    [[package]]
    category = "main"
    description = "Markov chains and Hidden Markov models"
    name = "mchmm"
    optional = false
    python-versions = "*"
    version = "0.4.1"

    [package.dependencies]
    graphviz = "*"
    numpy = "*"
    scipy = "*"

    [[package]]
    category = "main"
    description = "NumPy is the fundamental package for array computing with Python."
    name = "numpy"
    optional = false
    python-versions = ">=3.7"
    version = "1.20.2"

    [[package]]
    category = "main"
    description = "SciPy: Scientific Library for Python"
    name = "scipy"
    optional = false
    python-versions = ">=3.7"
    version = "1.6.1"

    [package.dependencies]
    numpy = ">=1.16.5"

    [metadata]
    content-hash = "7138f7dddcea128d4ef48a8b139ae7e7cd86a57250865966e27782951c4aebb9"
    python-versions = "^3.8"

    [metadata.files]
    graphviz = [
        {file = "graphviz-0.16-py2.py3-none-any.whl", hash = "sha256:3cad5517c961090dfc679df6402a57de62d97703e2880a1a46147bb0dc1639eb"},
        {file = "graphviz-0.16.zip", hash = "sha256:d2d25af1c199cad567ce4806f0449cb74eb30cf451fd7597251e1da099ac6e57"},
    ]
    mchmm = [
        {file = "mchmm-0.4.1-py3-none-any.whl", hash = "sha256:f60cdd11a8fcd3ec68f1f696528b0a2b740a0f4d48b6edc2617c80a07abe42b3"},
        {file = "mchmm-0.4.1.linux-x86_64.tar.gz", hash = "sha256:0f22a096484ec8243b33f1f25ce80e466bc39bf288a16e5ccf7da4a355142470"},
    ]
    numpy = [
        {file = "numpy-1.20.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:e9459f40244bb02b2f14f6af0cd0732791d72232bbb0dc4bab57ef88e75f6935"},
        {file = "numpy-1.20.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:a8e6859913ec8eeef3dbe9aed3bf475347642d1cdd6217c30f28dee8903528e6"},
        {file = "numpy-1.20.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:9cab23439eb1ebfed1aaec9cd42b7dc50fc96d5cd3147da348d9161f0501ada5"},
        {file = "numpy-1.20.2-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:9c0fab855ae790ca74b27e55240fe4f2a36a364a3f1ebcfd1fb5ac4088f1cec3"},
        {file = "numpy-1.20.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:61d5b4cf73622e4d0c6b83408a16631b670fc045afd6540679aa35591a17fe6d"},
        {file = "numpy-1.20.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:d15007f857d6995db15195217afdbddfcd203dfaa0ba6878a2f580eaf810ecd6"},
        {file = "numpy-1.20.2-cp37-cp37m-win32.whl", hash = "sha256:d76061ae5cab49b83a8cf3feacefc2053fac672728802ac137dd8c4123397677"},
        {file = "numpy-1.20.2-cp37-cp37m-win_amd64.whl", hash = "sha256:bad70051de2c50b1a6259a6df1daaafe8c480ca98132da98976d8591c412e737"},
        {file = "numpy-1.20.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:719656636c48be22c23641859ff2419b27b6bdf844b36a2447cb39caceb00935"},
        {file = "numpy-1.20.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:aa046527c04688af680217fffac61eec2350ef3f3d7320c07fd33f5c6e7b4d5f"},
        {file = "numpy-1.20.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:2428b109306075d89d21135bdd6b785f132a1f5a3260c371cee1fae427e12727"},
        {file = "numpy-1.20.2-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:e8e4fbbb7e7634f263c5b0150a629342cc19b47c5eba8d1cd4363ab3455ab576"},
        {file = "numpy-1.20.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:edb1f041a9146dcf02cd7df7187db46ab524b9af2515f392f337c7cbbf5b52cd"},
        {file = "numpy-1.20.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:c73a7975d77f15f7f68dacfb2bca3d3f479f158313642e8ea9058eea06637931"},
        {file = "numpy-1.20.2-cp38-cp38-win32.whl", hash = "sha256:6c915ee7dba1071554e70a3664a839fbc033e1d6528199d4621eeaaa5487ccd2"},
        {file = "numpy-1.20.2-cp38-cp38-win_amd64.whl", hash = "sha256:471c0571d0895c68da309dacee4e95a0811d0a9f9f532a48dc1bea5f3b7ad2b7"},
        {file = "numpy-1.20.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4703b9e937df83f5b6b7447ca5912b5f5f297aba45f91dbbbc63ff9278c7aa98"},
        {file = "numpy-1.20.2-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:abc81829c4039e7e4c30f7897938fa5d4916a09c2c7eb9b244b7a35ddc9656f4"},
        {file = "numpy-1.20.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:377751954da04d4a6950191b20539066b4e19e3b559d4695399c5e8e3e683bf6"},
        {file = "numpy-1.20.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:6e51e417d9ae2e7848314994e6fc3832c9d426abce9328cf7571eefceb43e6c9"},
        {file = "numpy-1.20.2-cp39-cp39-win32.whl", hash = "sha256:780ae5284cb770ade51d4b4a7dce4faa554eb1d88a56d0e8b9f35fca9b0270ff"},
        {file = "numpy-1.20.2-cp39-cp39-win_amd64.whl", hash = "sha256:924dc3f83de20437de95a73516f36e09918e9c9c18d5eac520062c49191025fb"},
        {file = "numpy-1.20.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl", hash = "sha256:97ce8b8ace7d3b9288d88177e66ee75480fb79b9cf745e91ecfe65d91a856042"},
        {file = "numpy-1.20.2.zip", hash = "sha256:878922bf5ad7550aa044aa9301d417e2d3ae50f0f577de92051d739ac6096cee"},
    ]
    scipy = [
        {file = "scipy-1.6.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a15a1f3fc0abff33e792d6049161b7795909b40b97c6cc2934ed54384017ab76"},
        {file = "scipy-1.6.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:e79570979ccdc3d165456dd62041d9556fb9733b86b4b6d818af7a0afc15f092"},
        {file = "scipy-1.6.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:a423533c55fec61456dedee7b6ee7dce0bb6bfa395424ea374d25afa262be261"},
        {file = "scipy-1.6.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:33d6b7df40d197bdd3049d64e8e680227151673465e5d85723b3b8f6b15a6ced"},
        {file = "scipy-1.6.1-cp37-cp37m-win32.whl", hash = "sha256:6725e3fbb47da428794f243864f2297462e9ee448297c93ed1dcbc44335feb78"},
        {file = "scipy-1.6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:5fa9c6530b1661f1370bcd332a1e62ca7881785cc0f80c0d559b636567fab63c"},
        {file = "scipy-1.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bd50daf727f7c195e26f27467c85ce653d41df4358a25b32434a50d8870fc519"},
        {file = "scipy-1.6.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:f46dd15335e8a320b0fb4685f58b7471702234cba8bb3442b69a3e1dc329c345"},
        {file = "scipy-1.6.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:0e5b0ccf63155d90da576edd2768b66fb276446c371b73841e3503be1d63fb5d"},
        {file = "scipy-1.6.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:2481efbb3740977e3c831edfd0bd9867be26387cacf24eb5e366a6a374d3d00d"},
        {file = "scipy-1.6.1-cp38-cp38-win32.whl", hash = "sha256:68cb4c424112cd4be886b4d979c5497fba190714085f46b8ae67a5e4416c32b4"},
        {file = "scipy-1.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:5f331eeed0297232d2e6eea51b54e8278ed8bb10b099f69c44e2558c090d06bf"},
        {file = "scipy-1.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0c8a51d33556bf70367452d4d601d1742c0e806cd0194785914daf19775f0e67"},
        {file = "scipy-1.6.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:83bf7c16245c15bc58ee76c5418e46ea1811edcc2e2b03041b804e46084ab627"},
        {file = "scipy-1.6.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:794e768cc5f779736593046c9714e0f3a5940bc6dcc1dba885ad64cbfb28e9f0"},
        {file = "scipy-1.6.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5da5471aed911fe7e52b86bf9ea32fb55ae93e2f0fac66c32e58897cfb02fa07"},
        {file = "scipy-1.6.1-cp39-cp39-win32.whl", hash = "sha256:8e403a337749ed40af60e537cc4d4c03febddcc56cd26e774c9b1b600a70d3e4"},
        {file = "scipy-1.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:a5193a098ae9f29af283dcf0041f762601faf2e595c0db1da929875b7570353f"},
        {file = "scipy-1.6.1.tar.gz", hash = "sha256:c4fceb864890b6168e79b0e714c585dbe2fd4222768ee90bc1aa0f8218691b11"},
    ]

    出处:http://www.cnblogs.com/lightsong/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
  • 相关阅读:
    Cousera课程Learning How to Learn学习报告
    C语言中当无符号数遇到符号数
    STC15 串口(工作方式1)使用小结
    取C语言头文件的文件名
    linux 的 shell 逻辑
    Win7 局域网内简单共享的设置
    写了一个批处理,可以实现文件备份,自动对比删除冗余文件。
    C语言 函数指针的应用
    自动控制原理 典型环节频率特性对比
    51单片机汇编的溢出标志位OV和进位标志位CY
  • 原文地址:https://www.cnblogs.com/lightsong/p/14728971.html
Copyright © 2011-2022 走看看