本教程适合完全看不懂英语的人,如果你能看懂甚至已经达到了英语四级的水平,请前往 Introduction | Documentation | Poetry

0x00 装

首先确保你的Python版本在3.6及以上。

对于 macOS/ Linux/ Bash on Windows ,运行:

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

对于 Windows PowerShell ,运行:

(Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -

如果你的网络环境没有大问题,那么现在你已经安装好Poetry了。

0x01 用

有了Poetry,现在你可以:

创建新的虚拟环境/项目:

    poetry new 新项目名

把已有的项目交给Poetry来管理:

    cd 旧项目目录
    poetry init

接下来,Poetry会进入交互式界面为你提供引导,它可能会提示如下内容:

    Package name [项目名]: 这是问你要给项目/包起什么名字,敲回车键即默认为文件夹的名字
    Version [0.1.0]: 项目/包的版本,如果你没有特别需求也可以直接敲回车
    Description []: 你对这个项目的详细描述,只有在发布到PyPI时有用
    Author [姓名 <邮箱>, n to skip]: 你的作者信息,输入n可以忽略不填
    License []: 项目用什么开源协议,看你心情
    Compatible Python versions [^3.x]: 项目能兼容哪些py版本,没有特殊需求就敲回车
    Would you like to define your main dependencies interactively? (yes/no) [yes]: 询问你是否要在这个交互式界面直接添加/安装项目依赖,建议选no,因为没必要在这里添加
    Would you like to define your development dependencies interactively? (yes/no) [yes]: 同样建议选no
    Generated file ...... Do you confirm generation? (yes/no) [yes]: 显然这里直接敲回车yes就可以

在Poetry创建的虚拟环境中运行命令:

    poetry shell

运行之后,Poetry会为你生成一个带有项目虚拟环境的新Shell并进入。

当然你也可以直接:

    poetry run 命令

在项目的虚拟环境中安装依赖:

    poetry add 包名

在项目的虚拟环境中删除依赖:

    poetry remove 包名

接手别人的Poetry项目,并一键安装所需的依赖:

    poetry install

我项目写好了,我要把它打包发布到PyPI上去:

    poetry build
    poetry publish

还有谁用不懂Poetry,,,@ellye

0x02 问

Q: 我的Poetry卡在 Resolving Dependencies... 好久了,一直不动怎么办?

A: 因为Poetry只会连接PyPI官方源,如果你的网络状况很差就会出现这种情况。你可以尝试更为科学的上网方式,或者使用玄学解决方案:添加 -vvv 作为参数,可能真的会变快哦!(没变快当我没说)


Q: Poetry生成了一大堆东西看不懂,能不能讲讲?

A:

    poetry-demo [你的项目名称]
    ├── pyproject.toml [项目配置文件,不止能管理依赖版本,也可以在里面塞自己项目的配置]
    ├── README.rst [Poetry默认用reStructuredText(.rst)作为文档格式,可以删了换成.md]
    ├── poetry_demo [真正的项目代码放在这里]
    │   └── __init__.py
    └── tests [测试用代码放在这里]
        ├── __init__.py
        └── test_poetry_demo.py