Poetry(2)Poetry的基本使用方式
Poetry的基本使用
准备工作
如果你是在一个已有的项目里使用Poetry
,你只需要执行 poetry init
命令来创建一个 pyproject.toml
文件:
poetry init
可看到有很多提示输入,不确定的内容就先按下Enter使用默认值,后续可以再修改pyproject.toml
文件。指定依赖的环节可以跳过,手动安装会更高效一点。
如果你想创建一个新的 Python
项目,使用 poetry new <文件夹名称>
命令可以创建一个项目模板:
poetry new poetry-demo
这会创建一个这样的项目结构:
poetry-demo
├── pyproject.toml
├── README.rst
├── poetry_demo
│ └── __init__.py
└── tests
├── __init__.py
└── test_poetry_demo.py
创建虚拟环境
1.使用 poetry install
命令创建虚拟环境(确保当前目录有 pyproject.toml
文件):
poetry install
这个命令会读取 pyproject.toml
中的所有依赖(包括开发依赖)并安装,如果不想安装开发依赖,可以附加 --no-dev
选项。如果项目根目录有 poetry.lock
文件,会安装这个文件中列出的锁定版本的依赖。
2.使用poetry add
命令创建虚拟环境
poetry add 依赖包名称
当我们使用add
命令时,没有检测到虚拟环境,也会为当前目录自动创建虚拟环境。
3.利用 poetry env use
创建
这个命令,可以指定创建虚拟环境时使用的Python解释器版本。
poetry env use python3.7
使用这个命令后,会在虚拟环境路径下创建一个envs.toml
文件,用来存储哪些虚拟环境指定了Python解释器的版本。
➜ virtualenvs cat envs.toml
[athena-LtyjKFV4]
minor = "3.7"
patch = "3.7.6"
激活虚拟环境
执行poetry的命令并不需要激活虚拟环境,因为poetry会自动检测当前虚拟环境,如果想在当前目录对应的虚拟环境中执行命令,可以使用以下命令:
poetry run <你的命令> # 例如: poetry run python flask.py
如果想显示的激活虚拟环境,使用如下命令:
poetry shell
安装依赖
安装最新稳定版本的flask
poetry add flask
指定为开发依赖,会写到pyproject.toml
中的[tool.poetry.dev-dependencies]
区域
poetry add pytest --dev
指定具体的版本
poetry add flask=2.22.0
安装pyproject.toml
文件中的全部依赖
poetry install
只安装非development
环境的依赖,一般部署时使用
poetry install --no-dev
追踪 & 更新包
查看项目安装的依赖
poetry show
树形结构查看项目安装的依赖
poetry show -t
查看可以更新的依赖
poetry update
更新所有锁定版本的依赖
poetry update
如果你想更新某个指定的依赖,传递包名作为参数:
poetry update foo
卸载包
使用 poetry remove <包名称>
卸载一个包:
poetry remove foo
查找当前项目的虚拟环境
使用poetry env list
可以查看当前的虚拟环境
poetry env list
如果想查看当期虚拟环境的绝对路径,可以加上--full-path
poetry env list --full-path
删除虚拟环境路径
删除虚拟环境,使用remove命令,指定对应的解析器版本
poetry env remove python2
poetry env remove python3
PyPI 镜像源
以使用清华提供的 PyPI 镜像源为例,你需要在 pyproject.toml
文件里加入这部分内容:
[[tool.poetry.source]]
name = "tsinghua"
default = true
url = "https://pypi.tuna.tsinghua.edu.cn/simple"