Poetry 又一个 Python 依赖管理工具
Posted on Sun 16 March 2025 in Journal
Abstract | Poetry |
---|---|
Authors | Walter Fan |
Category | learning note |
Status | v1.0 |
Updated | 2025-03-16 |
License | CC-BY-NC-ND 4.0 |
Python 依赖管理工具或者叫做环境隔离工具最有句莫过于 virtualenv, 随之而来的还有类似的 virtualenvwrapper, conda, pipenv等等. 而 Poetry 也是一个 Python 依赖管理和打包工具,它可以帮助开发者更轻松地管理项目依赖、虚拟环境和软件发布, 最后一点, 也是它更加方便的地方.
🔹 为什么使用 Poetry?
- 管理依赖:使用
pyproject.toml
记录所有依赖,避免requirements.txt
过于混乱。 - 自动管理虚拟环境:无需手动创建
venv
,Poetry 会自动处理。 - 提供
poetry.lock
文件:保证依赖的一致性,防止版本冲突。 - 轻松发布 Python 包:可直接使用
poetry publish
发布到 PyPI。
🔹 安装 Poetry
方法 1:官方推荐
在 Linux 和 macOS 上,运行:
curl -sSL https://install.python-poetry.org | python3 -
方法 2:使用 pipx(推荐)
pipx install poetry
检查安装是否成功:
poetry --version
🔹 创建新项目
创建一个新的 Python 项目:
poetry new my_project
cd my_project
📂 目录结构:
my_project/
│── pyproject.toml # 项目元数据和依赖管理
│── poetry.lock # 锁定依赖,确保版本一致
│── my_project/ # 源代码目录
│ ├── __init__.py
│── tests/ # 测试代码
│── README.rst
🔹 添加和安装依赖
添加项目依赖
poetry add requests
📌 这将在 pyproject.toml
里添加 requests
,并自动安装它。
添加开发依赖
poetry add --dev pytest
📌 适用于测试工具等仅开发环境需要的依赖。
安装所有依赖
如果你从 GitHub 或其他地方克隆了一个使用 Poetry 的项目,可以用:
poetry install
📌 这会创建一个虚拟环境,并安装 pyproject.toml
里列出的所有依赖。
🔹 运行 Python 代码
直接运行 Python 文件
poetry run python main.py
启动 Poetry 的虚拟环境
poetry shell
📌 进入虚拟环境后,可以像普通 Python 环境一样运行代码:
python main.py
🔹 示例:使用 Poetry 创建一个简单项目
1️⃣ 创建一个新项目
poetry new poetry_example
cd poetry_example
2️⃣ 添加 requests
库
poetry add requests
3️⃣ 编写代码
编辑 poetry_example/__init__.py
:
import requests
def fetch_data():
response = requests.get("https://jsonplaceholder.typicode.com/todos/1")
return response.json()
if __name__ == "__main__":
print(fetch_data())
4️⃣ 运行代码
poetry run python poetry_example/__init__.py
🔹 构建和发布 Python 包
构建项目:
poetry build
发布到 PyPI:
poetry publish --repository pypi
🔹 总结
- Poetry 让 Python 依赖管理更简单、更高效
- 自动创建和管理虚拟环境
- 更好的包管理和版本控制
- 一键发布 Python 包
如果你希望在 Python 项目 中管理依赖,Poetry 绝对是一个值得尝试的工具!🚀
你想将 Poetry 集成到现有项目中吗?有什么具体需求,我可以帮你优化!
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。