探索Poetry:现代化的Python依赖管理工具
在Python开发的世界中,依赖管理是一个不可或缺的部分。随着项目规模的扩大,管理这些依赖关系变得越来越复杂。这就是Poetry的用武之地——一个现代化的依赖管理工具,旨在简化开发流程并提高效率。
什么是Poetry?
Poetry是一个Python依赖管理器和包构建器,它使用pyproject.toml
文件来管理依赖关系和构建系统。它提供了一个统一的方法来处理依赖关系,无论项目的大小如何。
为什么选择Poetry?
1. 依赖解析
Poetry使用pyproject.toml
和poetry.lock
文件来锁定依赖关系,确保在不同环境中都能重现相同的依赖树。
2. 虚拟环境
Poetry自动创建和管理虚拟环境,无需手动设置,确保项目依赖不会影响到系统的Python环境。
3. 依赖安装
通过简单的命令,如poetry install
,可以快速安装所有依赖项,包括开发依赖。
4. 依赖更新
Poetry提供了一个命令poetry update
,用于更新所有依赖项到最新版本,同时保持兼容性。
5. 包发布
Poetry简化了包的发布流程,通过poetry publish
命令,可以轻松地将你的包发布到PyPI。
如何开始使用Poetry?
开始使用Poetry非常简单:
-
安装Poetry:
使用Python的包管理器pip来安装Poetry:pip install poetry
等待安装成功 -
初始化项目:
在项目目录中运行poetry init
,Poetry将引导你创建pyproject.toml
文件。基本都按回车就行
此时你的项目中就会有pyproject.toml的文件
设置或切换项目所使用的 Python 解释器版本
poetry env use python
poetry env use --python 3.10
这样子可以指定版本
C:\Users\M\Desktop\poetry_project>poetry env use python
Creating virtualenv poetry-project-8oU2f18D-py3.9 in C:\Users\M\AppData\Local\pypoetry\Cache\virtualenvs
Using virtualenv: C:\Users\M\AppData\Local\pypoetry\Cache\virtualenvs\poetry-project-8oU2f18D-py3.9
查看刚刚的配置
poetry config --list
C:\Users\M\Desktop\poetry_project>poetry config --list
cache-dir = "C:\\Users\\M\\AppData\\Local\\pypoetry\\Cache"
experimental.system-git-client = false
installer.max-workers = null
installer.modern-installation = true
installer.no-binary = null
installer.parallel = true
keyring.enabled = true
solver.lazy-wheel = true
virtualenvs.create = true
virtualenvs.in-project = null
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.no-setuptools = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}\\virtualenvs" # C:\Users\M\AppData\Local\pypoetry\Cache\virtualenvs
virtualenvs.prefer-active-python = false
virtualenvs.prompt = "{project_name}-py{python_version}"
warnings.export = true
删除创建的虚拟环境
poetry env remove python
C:\Users\M\Desktop\poetry_project>poetry env remove python
Deleted virtualenv: C:\Users\M\AppData\Local\pypoetry\Cache\virtualenvs\poetry-project-8oU2f18D-py3.9
改变虚拟环境的存放点
poetry config virtualenvs.in-project true
再次创建
C:\Users\M\Desktop\poetry_project>poetry env use python
Creating virtualenv poetry-project in C:\Users\M\Desktop\poetry_project\.venv
Using virtualenv: C:\Users\M\Desktop\poetry_project\.venv
进入虚拟环境
poetry shell
然后可以poetry show看安装的依赖(这里还没有安装,所以Error)
(poetry-project-py3.9) C:\Users\M\Desktop\poetry_project>poetry show
Error: poetry.lock not found. Run `poetry lock` to create it.
- 添加依赖:
使用poetry add <package>
添加新的依赖项。
删除你的依赖poetry remove flask
-
运行项目:
通过poetry run <command>
在虚拟环境中运行你的命令。 -
构建和发布:
当你的项目准备好发布时,使用poetry build
和poetry publish
命令。
视频/博客推荐
Python poetry 虚拟环境 | Python 虚拟环境的最终解决方案
poetry 入门完全指南
结语
Poetry为Python开发者提供了一个强大而灵活的工具,用于管理依赖关系和构建项目。它简化了开发流程,提高了代码的可维护性和项目的可扩展性。无论你是Python新手还是经验丰富的开发者,Poetry都是一个值得尝试的工具。